java問題,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

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-11-13 06:06
下一篇 2024-11-13 06:06

相關推薦

  • Java JsonPath 效率優化指南

    本篇文章將深入探討Java JsonPath的效率問題,並提供一些優化方案。 一、JsonPath 簡介 JsonPath是一個可用於從JSON數據中獲取信息的庫。它提供了一種DS…

    編程 2025-04-29
  • java client.getacsresponse 編譯報錯解決方法

    java client.getacsresponse 編譯報錯是Java編程過程中常見的錯誤,常見的原因是代碼的語法錯誤、類庫依賴問題和編譯環境的配置問題。下面將從多個方面進行分析…

    編程 2025-04-29
  • Python官網中文版:解決你的編程問題

    Python是一種高級編程語言,它可以用於Web開發、科學計算、人工智慧等領域。Python官網中文版提供了全面的資源和教程,可以幫助你入門學習和進一步提高編程技能。 一、Pyth…

    編程 2025-04-29
  • Java騰訊雲音視頻對接

    本文旨在從多個方面詳細闡述Java騰訊雲音視頻對接,提供完整的代碼示例。 一、騰訊雲音視頻介紹 騰訊雲音視頻服務(Cloud Tencent Real-Time Communica…

    編程 2025-04-29
  • Java Bean載入過程

    Java Bean載入過程涉及到類載入器、反射機制和Java虛擬機的執行過程。在本文中,將從這三個方面詳細闡述Java Bean載入的過程。 一、類載入器 類載入器是Java虛擬機…

    編程 2025-04-29
  • 如何解決WPS保存提示會導致宏不可用的問題

    如果您使用過WPS,可能會碰到在保存的時候提示「文件中含有宏,保存將導致宏不可用」的問題。這個問題是因為WPS在默認情況下不允許保存帶有宏的文件,為了解決這個問題,本篇文章將從多個…

    編程 2025-04-29
  • Java Milvus SearchParam withoutFields用法介紹

    本文將詳細介紹Java Milvus SearchParam withoutFields的相關知識和用法。 一、什麼是Java Milvus SearchParam without…

    編程 2025-04-29
  • Java 8中某一周的周一

    Java 8是Java語言中的一個版本,於2014年3月18日發布。本文將從多個方面對Java 8中某一周的周一進行詳細的闡述。 一、數組處理 Java 8新特性之一是Stream…

    編程 2025-04-29
  • Java判斷字元串是否存在多個

    本文將從以下幾個方面詳細闡述如何使用Java判斷一個字元串中是否存在多個指定字元: 一、字元串遍歷 字元串是Java編程中非常重要的一種數據類型。要判斷字元串中是否存在多個指定字元…

    編程 2025-04-29
  • VSCode為什麼無法運行Java

    解答:VSCode無法運行Java是因為默認情況下,VSCode並沒有集成Java運行環境,需要手動添加Java運行環境或安裝相關插件才能實現Java代碼的編寫、調試和運行。 一、…

    編程 2025-04-29

發表回復

登錄後才能評論