制作了一个Tester类来测试方法如何将参数传递给参数。
以下是我编写的代码。
public class Testcalculate {
public static void main (String [] args){
Testcalculate c = new Testcalculate();
c.add(40, 50);
} // end main
} // end class
class calculate {
public void add(int x, int y) {
int a = x + y;
System.out.print("Total is: " + a);
}
}
我得到的错误消息是:
Testcalculate.java:7: cannot find symbol
symbol : method add(int, int)
location: class Testcalculate
c.add(40,50);
我已经使用int类型的正确值将参数传递给方法。 我只是不明白是什么导致了这个问题。我甚至尝试在第二个类的add方法声明之前放置public关键字,认为它可能超出了范围,但这没有帮助。
这两个类都放在同一个文本文件中。
答案 0 :(得分:6)
没有Testcalculate#add
方法。换句话说,类Testcalculate
没有calculate
方法,因此您收到编译器错误。可能你的意思是:
calculate c = new calculate();
c.add(40, 50);
答案 1 :(得分:1)
可能你想这样做:
public class Testcalculate {
public static void main (String [] args){
Testcalculate c = new Testcalculate();
c.add(40, 50);
} // end main
public void add(int x, int y) {
int a = x + y;
System.out.print("Total is: " + a);
}
}
答案 2 :(得分:1)
将add添加到Testcalculate
public class Testcalculate {
public static void main (String [] args){
Testcalculate c = new Testcalculate();
c.add(40, 50);
} // end main
public void add(int x, int y) {
int a = x + y;
System.out.print("Total is: " + a);
}
} // end class
或将main更改为
public static void main (String [] args){
calculate c = new calculate();
c.add(40, 50);
} // end main
答案 3 :(得分:0)
您已在add
课程中声明了calculate
方法,但您尝试在Testcalculate
的实例上调用它。要解决此问题,您应该将c
设为calculate
的实例:
calculate c = new calculate();
c.add(40, 50);
此外,您应遵循Java命名约定,并将此类命名为Calculate
(使用大写的“C”),而不是calculate
。