java常見編譯錯誤
由於JDK是國際版的,在編譯的時候,如果我們沒有用-encoding參數指定我們的JAVA源程序的編碼格式,則javac.exe首先獲得我們操作系統默認採用的編碼格式。
在編譯java程序時,若我們不指定源程序文件的編碼格式
JDK首先獲得操作系統的file.encoding參數(它保存的就是操作系統默認的編碼格式,如WIN2k,它的值為GBK)
然後JDK就把我們的java源程序從file.encoding編碼格式轉化為JAVA內部默認的UNICODE格式放入內存中。
然後,javac把轉換後的unicode格式的文件進行編譯成.class類文件,此時.class文件是UNICODE編碼的,它暫放在內存中
對我們來說,我們最終獲得的.class文件是內容以UNICODE編碼格式保存的類文件,它內部包含我們源程序中的中文字元串,只不過此時它己經由file.encoding格式轉化為UNICODE格式了。當我們不加設置就編譯時,相當於使用了參數:javac -encoding gbk xx.java,當然就會出現不兼容的情況。
解決方法
1.使用-encoding 指定字元集
javac -encoding utf-8 xx.java
2.把源文件編碼修改成ASCII
Ⅱ java編譯錯誤
有幾點錯誤
public 首字母需要小寫。
class 後面需要有類名,類名不能以數字開頭,文件名要和這個類名一樣。
下面是修改過的代碼:
//文件名應為Exam123.java
publicclassExam123{
publicstaticvoidmain(String[]args){
System.out.println("123");
}
}
Ⅲ java作業編譯錯誤求解
Main.java:4:
error:
class
Distance
is
public,
should
be
declared
in
a
file
named
Distance.java
public
class
Distance
{
這個錯誤意思是你的公共類Distance
所在的文件名應該是Distance.java
如果你是提交考試系統,則把public去掉!
改成:
class
Distance
{
這樣再試試
Ⅳ 關於JAVA編譯後產生的錯誤
首先,確認下,有沒有資料庫的驅動。其次,再確定下,位置是不是這個C:\Users\Administrator\Desktop\資料庫課程設計資料\JAVA\選課系統\${libs.MySQLDriver.classpath} 。如果上面都沒有問題的話,刪除編譯後產生的class文件夾,然後,clean一下,再重新部署啟動下試試。
Ⅳ java編譯器會出現的錯誤提示有哪些
錯誤就是error,它不同於異常。有時候程序不發生異常是不會出問題的,但有錯誤一定有問題。
常見的錯誤:編寫錯誤,語句錯誤---這兩個編譯器會提醒,也就是常用的eclipse;
邏輯錯誤,這個要看你自己的邏輯思維了。
潛在錯誤,也就是編寫語句邏輯都沒有問題,但jvm檢測有問題,就需要你自己找了,通常潛在錯誤都有邏輯問題。
Ⅵ Java初學者容易犯的錯誤有哪些
Java錯誤,主要包括兩方面,一種是語法錯誤,另一種是邏輯錯誤。
語法錯誤,也就是我們的編碼不符合java 規范,在編譯的時候無法通過。通常,我們都是用javac編譯我們的源程序,如果代碼中存在語法錯誤,比如某個表達式後缺少分號的時候,編譯器就會告訴我們錯誤信息,編譯就此停止。
邏輯錯誤,也就是我們常說的Bug,一般存在邏輯錯誤的程序都是可以順利的被編譯器編譯產生相應的位元組碼文件,也就是class文件。但是,在執行的時候,也就是java ourClass的時候,得出的結果並不是我們所希望的。
下面幾個問題都是非常常見的錯誤,在一些新手的代碼裡面經常會出現的。
1、 Java是分大小寫的
對於經常寫VB、Asp程序的人來說,一定要注意,變數money和Money是不一樣的。
2、一個java源文件可以包含多個class,但是只能包含一個public 的class。
java是面向對象的程序語言,編譯完的位元組碼也是一個一個的類,就是class。一個.java文件可以包含多個class,在編譯的時候,編譯器會為每一個class生成相應的class文件。
但是必須要注意,一個.java文件只能包含一個public class,而且這個public class的類名要與這個.java的文件名一致。
比如,正確的寫法應該是下面這樣的:
一個java源文件,文件名為 Test.java,內容如下:
class A { } class B { } public class Test { }
3、一個等號和兩個等號的不同
在Java程序中,一個等號是賦值操作符,而兩個等號則是比較操作符。在 java新手的程序中
經常出現這樣的代碼:
int a=1; int b=2; if(a=b) System.out.println("OK");
這樣是不對的,因為if後面需要得到的是一個布爾類型的值,這樣編譯就會出錯。
因為,a=b,是賦值操作,就是把 b的值賦給了a,返回等號右邊的值,也就是b的值,比如:
int a=1; int b=2; int c=(a=b); System.out.println("a : "+a); System.out.println("b: "+b); System.out.println("c: "+c);
輸出結果則是,a等於2,b等於2,c也等於2, 明白了嗎?
4、java中的數組下標是從0開始的
比如我們定義了一個數組
Object[] myArray=new Object[10],說明數組中有10個元素,是從myArray[0]開始,到myArray[9]結束的在用for循環的時候,需要注意,正確寫法如下:
for(int i=0;i<myArray.length;i++) { }
5、空引用的錯誤
這類錯誤也是最令人頭疼的,屬於邏輯性錯誤,編譯器可以正常編譯,但是在某種情況下執行出錯,出錯信息是 java.lang.NullPointerException 。
這是由於在對象的引用沒有被初始化的情況下而調用這個對象的屬性或者方法而造成的,比如下面的例子:
class A3 { public static void main(String[] args) { String s=null; int a=1; int b=2; if(a<b) { s="a<b"; } System.out.println(s.toString()); } }
編譯和執行都沒有錯誤,可是如果把a的值賦為10,如下:
class A3 { public static void main(String[] args) { String s=null; int a=10; int b=2; if(a<b) { s="a<b"; } System.out.println(s.toString()); } }
那麼就可以正常編譯通過,但是執行的時候則出錯。就是因為現在a<b不成立,也就是說沒有執行s="a<b"這個初始化語句,所以在輸出s.toString()的時候,對象s其實還是null,沒有被初始化,這時候調用.toString()方法自然會出現異常。
以上就簡單寫幾個java新手經常會出現的錯誤,其實出現錯誤並不可怕,只要大家仔細的分析一下出現的錯誤,看看究竟是什麼原因導致的,如何避免。這樣,就會很快的提高自己的水平,加入到高手的行列中。由於自己也是菜鳥水平,所以寫的東西,難免出現這樣那樣的錯誤,希望大家多提意見。
Ⅶ JAVA編譯時出現這些錯誤
首先沒有readln這個方法,是readLine,一起第二個catch不用加,你只有一個try哪裡來的3個catch
完整代碼應該是只有的吧
DataInputStream fis = null;
try {
fis = new DataInputStream(new FileInputStream("myfile.txt"));
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
System.out.println(e.toString());
}
try {
String stra=fis.readLine();
int a=Integer.parseInt(stra);
String strb=fis.readLine();
int b=Integer.parseInt(strb);
int c=a+b;
System.out.println(String.valueOf(c));
} catch (IOException e) {
// TODO Auto-generated catch block
System.out.println(e.toString());
}
fin.......
Ⅷ java語言中什麼叫做編譯錯誤
就是你用javac命令將源代碼(.java)文件翻譯成位元組碼(.class)文件時產生的錯誤。
比如,變數名不符合規定,變數沒定義,關鍵字拼寫錯誤等等。。。
java的編譯器(javac)會根據java語法規定做一些檢查,不符合規定的就不通過編譯。
編譯錯誤,是相對於運行時錯誤而言的。
運行時錯誤,是你用java命令運行時會出現的錯誤,一般會拋出異常。
Ⅸ Java中編譯錯誤有什麼
在MyEclipse等軟體中編譯出錯,左邊會有紅叉提示,即在編譯時便無法通過,
和它相對應的是運行錯誤,即編譯時通過了,運行時卻出錯了。
一般來說,編譯錯誤有 語法錯誤 ;變數重復 ;括弧未成對 ; 變數未聲明或初始化 ;
方法名稱錯誤 ; 類型無法轉換 ;無法到達的語句 等等。。
希望可以幫助到你~O(∩_∩)O~~