-1

制作了一个 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 类型值将参数传递给该方法。我只是不明白是什么导致了这个问题。我什至尝试将 public 关键字放在第二个类的 add 方法声明之前,认为它可能超出范围,但这没有帮助。

这两个类都放在同一个文本文件中。

4

4 回答 4

6

没有Testcalculate#add办法。换句话说,该类Testcalculate没有calculate方法,因此您会收到编译器错误。可能你的意思是:

calculate c = new calculate();
c.add(40, 50);
于 2013-08-29T21:01:51.047 回答
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);

    }

}
于 2013-08-29T21:05:19.330 回答
1

要么移动添加到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

或将主要更改为

public static void main (String [] args){

 calculate c = new calculate();
 c.add(40, 50);

} // end main
于 2013-08-29T21:05:35.330 回答
0

你已经add在你的类上声明了你的方法calculate,但是你试图在Testcalculate. 要修复它,您应该成为c以下实例calculate

 calculate c = new calculate();
 c.add(40, 50);

此外,您应该遵循 Java 命名约定,并命名这个类Calculate(使用大写的“C”)而不是calculate.

于 2013-08-29T21:03:01.357 回答