[英]Exception in thread “main” java.lang.NoSuchFieldError: JAVA_VENDOR
[英]"Exception in thread "main" java.lang.NoSuchFieldError:"
我收到此錯誤:
線程“主”中的異常 java.lang.NoSuchFieldError: num1 at calificacion.main(problema_3.java:17)
在這個簡單的終端 java 程序上輸入第一個值后:
import java.io.*;
class num
{
int num1,num2,num3;
}
class calificacion
{
public static void main(String []Args)throws IOException
{
BufferedReader ob1=new BufferedReader(new InputStreamReader (System.in));
num DQ = new num();
System.out.println ("Ingrese primera calificación:");
DQ.num1 = Integer.parseInt(ob1.readLine());
System.out.println ("Ingrese segunda calificación:");
DQ.num2 = Integer.parseInt(ob1.readLine());
System.out.println ("Ingrese tercera calificación:");
DQ.num3 = Integer.parseInt(ob1.readLine());
System.out.println("\n\n");
System.out.println("Calificación final: "+(DQ.num1+DQ.num2+DQ.num3)/3);
}
}
另一方面,這個運行得很好,我在兩者中都使用相同的輸入法:
import java.io.*;
class num
{
int numero;
}
class paroimpar
{
public static void main(String []Args)throws IOException
{
BufferedReader ob1=new BufferedReader(new InputStreamReader (System.in));
num DQ = new num();
System.out.println ("Ingrese un número entero para determinar si es par o impar:");
DQ.numero = Integer.parseInt(ob1.readLine());
System.out.println("\n\n");
if (DQ.numero%2==0){
System.out.println(DQ.numero+" es par.");
} else {
System.out.println(DQ.numero+" es impar.");
}
}
}
提前致謝。
正如您可以在此處閱讀的,此錯誤表明您缺少字段num1
。 有關於NoSuchFieldException
的簡短Baeldung 教程。
關於您的問題。 這不是因為代碼(我已經成功編譯並運行了它)。 我相信這是因為編譯。 你在同一個目錄中有這些類嗎? 在編譯javac calification.java
期間,應該有兩個文件calification.class
和num.class
。 當您編譯第二個時,它可能會覆蓋num.class
。
如何解決這個問題?
num
類名稱之一,以免它們干擾順便提一句。 在 Java 中,我們傾向於以大寫字母開頭的類名和以駝峰命名的變量,因此更易於閱讀:)
希望能幫助到你! 快樂編碼!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.