java編譯沒出錯但運行不了怎麼辦
當
Java
虛擬機或
ClassLoader
實例試圖在類的定義中載入(作為通常方法調用的一部分或者作為使用
new
表達式創建的新實例的一部分),但無法找到該類的定義時,拋出此異常java.lang.NoClassDefFoundError。
不是缺少main方法,而是你的main方法里調用了未定義的類。
2. java程序編譯成功但是運行不成功是怎麼回事
這種事情當然經常發生啦。。。。
編譯只是靜態檢查。。。。。
如果你的程序存在
運行時錯誤的話。
例如:
RuntimeException的話,當然編譯時檢查不出來啦。
具體問題具體分析,沒有源代碼,是無法發現到底那裡錯誤了
3. java能夠編譯但是不能運行
//看樓主問為什麼能編譯但不能運行,說明樓主應該是Java的初學者吧,Java程序其實編譯和運行是兩回事,沒有必然聯系的。剛才你的問題,在下面有注釋的,這樣就可以運行了,記得把類修改為test.java哦。運行下面
import java.util.*;
//這里不能用car ,重新起一個名字,因為和下面的class Car沖突了。
public class test {
private static Scanner input;
public static void main(String args[]){
input = new Scanner(System.in);
System.out.println("請輸入車主姓名,車速,方向盤角度");
Car car=new Car(input.next(),input.nextFloat(),input.nextFloat());
System.out.println("車主姓名為:"+car.getOwnerName());
System.out.println("當前車速為:"+car.getCurSpeed());
System.out.println("當前方向盤角度為:"+car.getCurDirInDegree());
System.out.println("修改車速");
System.out.println("新的車速為:");
car.changeSpeed(input.nextFloat());
System.out.println("在調用changeSpeed(80)後,車速為"+car.getCurSpeed());
car.stop();
System.out.println("在調用stop()後,車速為"+car.getCurSpeed());
}
}
class Car {
private String ownerName; //車主姓名
private float curSpeed; //當前車速
private float curDirInDegree; //當前方向盤轉向角度
public Car (String ownerName){
this.ownerName=ownerName;
}
public Car (String ownerName, float speed, float dirInDegree){
this(ownerName);
curSpeed=speed;
curDirInDegree=dirInDegree;
}
public String getOwnerName() { //提供對車主姓名的訪問
return ownerName;
}
public float getCurDirInDegree() { //提供對當前方向盤轉向角度的訪問
return curDirInDegree;
}
public float getCurSpeed() { //提供對當前車速的訪問
return curSpeed;
}
public void changeSpeed(float curSpeed) { //提供改變當前的車速
this.curSpeed=curSpeed;
}
public void stop(){ //提供停車
curSpeed = 0;
}
}
請採納答案,支持我一下。
4. 可以編譯JAVA,但是不能運行怎麼回事求答案。謝謝
java環境有問題,重新安裝一下。
"Error: could not open 'F:\lib\i386\jvm.cfg"表明java無法打開java虛擬機的配置文件,可能是安裝時丟失了。 jvm全寫為Java Virtual Machine,即java虛擬機
5. 為什麼我的jdk安裝好了後,java程序能編譯卻不能運行啊
您好,非常榮幸能在此回答您的問題。以下是我對此問題的部分見解,若有錯誤,歡迎指出。你好!看看你的jdk有沒有少包。非常感謝您的耐心觀看,如有幫助請採納,祝生活愉快!謝謝!
6. Java程序編譯沒問題,運行出錯 !
兩種方法,要麼把package Number去掉再運行,如果帶著包名,那麼java Number.frist
7. java 程序能夠編譯成功,但是不能運行,提示錯誤
java.lang.NoClassDefFoundError:
當 Java 虛擬機或 ClassLoader 實例試圖在類的定義中載入(作為通常方法調用的一部分或者作為使用 new 表達式創建的新實例的一部分),但無法找到該類的定義時,拋出此異常。
當前執行的類被編譯時,所搜索的類定義存在,但無法再找到該定義。
檢查拼寫
8. java程序用Javac編譯沒問題,怎麼不能運行呢
第一你要看看你的環境變數
path里是不是有你java.exe的路徑,一般要設到jdk/bin下面。
第二看看你的類是不是有錯誤(如果能javaC說明不是編譯錯誤,那你就檢查下是不是有執行異常)
檢查下這兩點基本就沒問題了。
9. Java運行不了為什麼
沒有找到這個主函數,如果你打的是jar包的話,運行命令是:java -jar 文件名.jar,如果你是.java文件的話運行命令是:javac 文件名.java
10. java 中寫出的類為什麼編譯不報錯但是不能運行,代碼沒錯啊
//看樓主問為什麼能編譯但不能運行,說明樓主應該是Java的初學者吧,Java程序其實編譯和運行是兩回事,沒有必然聯系的。剛才你的問題,在下面有注釋的,這樣就可以運行了,記得把類修改為test.java哦。運行下面
import java.util.*;
//這里不能用car ,重新起一個名字,因為和下面的class Car沖突了。
public class test {
private static Scanner input;
public static void main(String args[]){
input = new Scanner(System.in);
System.out.println("請輸入車主姓名,車速,方向盤角度");
Car car=new Car(input.next(),input.nextFloat(),input.nextFloat());
System.out.println("車主姓名為:"+car.getOwnerName());
System.out.println("當前車速為:"+car.getCurSpeed());
System.out.println("當前方向盤角度為:"+car.getCurDirInDegree());
System.out.println("修改車速");
System.out.println("新的車速為:");
car.changeSpeed(input.nextFloat());
System.out.println("在調用changeSpeed(80)後,車速為"+car.getCurSpeed());
car.stop();
System.out.println("在調用stop()後,車速為"+car.getCurSpeed());
}
}
class Car {
private String ownerName; //車主姓名
private float curSpeed; //當前車速
private float curDirInDegree; //當前方向盤轉向角度
public Car (String ownerName){
this.ownerName=ownerName;
}
public Car (String ownerName, float speed, float dirInDegree){
this(ownerName);
curSpeed=speed;
curDirInDegree=dirInDegree;
}
public String getOwnerName() { //提供對車主姓名的訪問
return ownerName;
}
public float getCurDirInDegree() { //提供對當前方向盤轉向角度的訪問
return curDirInDegree;
}
public float getCurSpeed() { //提供對當前車速的訪問
return curSpeed;
}
public void changeSpeed(float curSpeed) { //提供改變當前的車速
this.curSpeed=curSpeed;
}
public void stop(){ //提供停車
curSpeed = 0;
}
}