我一直在尝试制作一个名为 QuadraticTester 的程序,它通过使用另一个名为 Quadratic 的类来计算二次函数。为此,我要求用户写下三个系数(A、B 和 C)。当尝试编译它们时一切正常,当我想执行它们时问题就开始了。这是当我使用 java QuadraticTester
命令时 CMD 向我显示的错误:
C:\Users\Pedro\Desktop>java QuadraticTester.java
Exception in thread "main" java.lang.IllegalAccessError: failed to access class Quadratic from class QuadraticTester (Quadratic is in unnamed module of loader 'app'; QuadraticTester is in unnamed module of loader com.sun.tools.javac.launcher.Main$MemoryClassLoader @11c20519)
at QuadraticTester.main(QuadraticTester.java:4)
这是 Quadratic.java :
class Quadratic{
double a;
double b;
double c;
String buildEcuation(double a, double b, double c){
String ecuation =(a + "x2 + " + b +"x + " + c + " = 0");
return ecuation;
}
}
这是 QuadraticTester.java :
class QuadraticTester{
public static void main(String[] args){
Quadratic cuad1 = new Quadratic();
double a = Scanner.getDouble("Ingrese un valor para el coeficiente A: \n");
double b = Scanner.getDouble("Ingrese un valor para el coeficiente B: \n");
double c = Scanner.getDouble("Ingrese un valor para el coeficiente C: \n");
System.out.println(cuad1.buildEcuation(a, b, c));
}
}
我不知道这个错误的含义或如何修复它们。希望您能理解我的问题并提前致谢!
PD:我不太擅长说英语,如果这个问题有语法错误,很抱歉;)
最佳答案
在您的代码中缺少一些导入,完整的 Java 文件可以提供更多帮助。
假设您使用的是不同的 Scanner(不是 java.util 的),这些类似乎不在同一个包中,因此 QuadraticTester 类看不到 Quadratic 类。
关于Java - 尝试从另一个类访问一个类时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61196323/