我无法获得调用此代码的确切方法

时间:2014-10-30 09:40:42

标签: java

我试图用Java编写一个简单的代码但是我一直在调用方法时遇到错误。

package tutorialproject2;
import java.util.Scanner;

public class Tutorialproject2 {

    static Scanner input = new Scanner(System.in);    
    public static void main(String[] args) {

    InputTest();
    Calculate(); 
    }

    public static void InputTest(){

        String message = input.nextLine();
        System.out.println(Hello(message));


    }

    public static String Hello(String message){
       if (message.equals("Hi")){
           return "Hello";
       }else{
           return "Goodbye";
       }  

    }


    public int Calculate(int a,int b){

        a = input.nextInt();
        b = input.nextInt();

        int answer = a * b;

        return answer;

    }

3 个答案:

答案 0 :(得分:3)

您的方法Calculate(int a,int b)包含2个参数,但调用不带参数Calculate()的方法 我想您应该将方法Calculate(int a,int b)更改为

public static int Calculate(){

    int a = input.nextInt();
    int b = input.nextInt();

    int answer = a * b;

    return answer;

}

并且如@Visme所述,添加static关键字。

或者您可以将方法保留为

public int Calculate(){

        int a = input.nextInt();
        int b = input.nextInt();

        int answer = a * b;

        return answer;

}

在这种情况下,在main函数中,您应该以这种方式调用方法:

new Tutorialproject2().Calculate();

答案 1 :(得分:2)

从静态函数(main)调用非静态方法计算

答案 2 :(得分:0)

应该是这样的,int var = Calculate(3,5);,不能单独calculate(),因为它有返回类型和参数。

您可以单独调用返回类型void的方法,例如InputTest();

从此方法返回integer并且该方法具有参数,因此您应该在此处传递所需的参数(整数类型),

public static int Calculate(int a,int b){
. . .
return answer;
}