本文目錄一覽:
- 1、JAVA問題
- 2、JAVA問題2
- 3、Java問題
- 4、北大青鳥java培訓:學習Java經常遇到的問題有哪些?
- 5、java的問題
JAVA問題
這裡直接把s賦值給readContent是有問題的,問題點如下:
假設文件有兩行
第一行
第二行
則讀取循環兩次,第一次s賦值給readContent,readContent的值為 “第一行”,然後又循環,讀取第二行,再次賦值,則readContent就會變成 “第二行”,第一行的值就丟失了;
這裡StringBuff的作用是把讀取到的內容連接起來成為一個字元串;
不過這裡的例子的確有問題,問題卻不在StringBuffer上,而在 s 變數上,s中間兩步是不必要的,循環內直接改成如下形式:
刪除s.getBytes()和new String
另外,除了以上問題,來總結下這段代碼的問題吧:
1、文件資源沒有釋放
2、在不涉及多線程的情況下,應使用StringBuilder類進行字元串拼接,而不是StringBuffer,因為StringBuilder更快(但是StringBuilder線程不安全,StringBuffer線程安全);
3、異常處理有問題,如果出現IO異常,就返回異常信息的字元串?那麼如何區分這個字元串是發生了異常還是從文件中讀取到的內容呢?這裡不應該返回字元串,而是直接聲明異常,有異常就向外拋,直到能處理的頂層程序處理。
基於以上幾點,修改代碼如下:
注意第27行,聲明本方法可能拋出 IOException 異常,稍後主程序將進行處理。另外注意第30行,創建InputStreamReader 的時候指定了文件編碼為utf8,以避免亂碼,你的文件如果存儲的是其他編碼類型,則會出現亂碼。
調用代碼如下:
getContent函數調用主程序
注意18行和21行,是分別處理正常情況和異常情況,當讀取異常時,將會調用第21行,列印異常信息;
整體代碼如下:
全部代碼
接下來我們看看代碼執行情況。
1、當我們要讀的文件不存在時,執行結果如下:
我們要讀的文件不存在時,拋出異常
看,當文件不存在時,拋出異常,並由異常處理程序捕獲和列印,你可以看到具體哪一行代碼出錯[getContent(App.java:29)],說明在App.java 文件中的getContent方法,文件的29行出錯。
2、那麼正常情況下呢?當然是輸出文件內容了,我們放一個有如下內容的文件在”D:\\file.txt”處:
要讀取的文件內容
執行結果如下:
正常情況下,輸出文件內容
最後,我不知道你看的是什麼書,是不是課本,但感覺質量不高,這裡給你推薦幾本,可以買來看看:
1、Head First java
2、菜鳥教程 Java
3、最權威的,自然是The Java® Language Specificati了
祝你學習之路順利
JAVA問題2
08/23/2002這個字元串一共有10個字元
string
month
=
birthday.substring(0,
2);表示從birthday這個字元串的第0位往後開始截取,截取到第二個字元賦給month,就得到了08
同樣的道理string
day
=
birthday.substring(3,
5);
表示從birthday這個字元串的第3位往後開始截取,截取到第五個字元賦給day,就得到了23
獲取year的就不用我說了吧
上面這位大哥說的有問題吧
string
b
=
a.split(“/”);這句代碼語法上就有問題了
a.split()這個方法獲得的是一個數組
string[]
b
=
a.split(“/”);
Java問題
就算是溫故知新吧。
我試著把你這兩個文件放在c:\jdk\test文件夾里,
然後先 javac Aaa.java 編譯成功.
然後再 javac Hello.java 編譯出錯:
Hello.java:1: 錯誤: 程序包a不存在
import a.Aaa;
^
Hello.java:4: 錯誤: 無法訪問Aaa
Aaa a=new Aaa();
^
錯誤的類文件: .\Aaa.class
類文件包含錯誤的類: a.Aaa
請刪除該文件或確保該文件位於正確的類路徑子目錄中。
2 個錯誤
上面的提示,大概意思是說 Aaa.class的位置放錯了。
我直接在dos下輸入: javac 查看語法
-d 目錄 指定放置生成的類文件的位置
然後按上面這個提示,重新編譯一個 Aaa.java文件
javac Aaa.java -d .
這個時候我發現新生成了一個a文件夾,裡面存放的是 Aaa.class
然後我再編譯 javac Hello.java 編譯成功。
C:\jdk\testjava Hello
Hello!
java中的包其實你完全可以理解為「文件夾」。
一個包里有很多的類文件,一個「文件夾」里存放著很多的類文件。
希望對你能有所幫助。
北大青鳥java培訓:學習Java經常遇到的問題有哪些?
初學者在學習Java的時候會遇到各種各樣的問題,很多初學者在遇到問題的時候就會放棄。
學習Java問題是很難避免的,在遇到問題的時候應該如何解決呢?初學者在學習Java的時候常見的問題有哪些?下面電腦培訓為大家介紹學習Java常見的問題。
問題一:能看懂,但是不會寫這是很多初學者在學習的時候經常遇到的問題。
在通過視頻學習或是聽課的時候覺得自己能夠聽懂,但是當自己練習的時候就會發現不知道應該如何下手。
如果遇到這個問題,北大青鳥建議找一個適合自己學習的方法,課前預習、課後複習,經常練習,加深自己對代碼的理解。
問題二:學完就忘記在解決第一個問題之後,很多人會遇到第二個問題。
在學習中HTML標籤和一些css屬性是非常關鍵的,能夠進行效果實現,但是很多人發現如果幾天不練習就會遺忘,使用的使用想不起來。
應該如何解決這個問題呢?學習新知識點使用案例進行練習,將知識應用到實際案例中,加深記憶。
反覆練習的內容是很難遺忘的。
問題三:看書學習有用嗎?很多新手在入門學習的的時候會選擇購買初級Java書籍進行學習。
書籍學習是很難掌握技術的,否則每個人都可以選擇書籍進行學習,輕鬆的掌握一門技術。
海南北大青鳥認為書籍主要是學習基礎知識,想要掌握更多的技術知識,單靠書籍是不行的。
問題四:擔心找不到工作學習Java主要是為了找一份適合自己的工作,很多人最擔心的就是找工作的環節。
在市場上Java工程師的需求量是非常大的,並且北大青鳥海南計算機學院推薦學員就業,只要具備能力,獲得高薪就業機會是沒有任何問題的。
java的問題
//這個是給成員變數初始化的一種,
//還有一種是通過構造函數來進行初始化
//也可以通過geter和seter方法進行初始化
class Demo
{
int sum;
String color;
}
Demo(){}
Demo(int sum,String color)//構造函數
{
this.sum = sum;
this.color = color;
}
class Test
{
public static void main(String []args){
Demo d = new Demo(5,”blue”);
System.out.println(d.sum +d.color);
}
}
class Demo2
{
int sum;
String color;
public void setSum(int sum){
this.sum = sum
}
public void setColor(String color)
{
this.color = color;
}
}
class Test2
{
public static void main(String []args){
Demo d = new Demo();
d.setColor(“blue”);
d.setSum(5);
System.out.println(d.sum +d.color);
}
}
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/152840.html