Java 我能';无法获取调用此代码的确切方法

Java 我能';无法获取调用此代码的确切方法,java,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(); Calcula

我正试图用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;

    }

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

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

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


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

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

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


您有一个带有两个参数的方法
Calculate(inta,intb)
,但调用该方法时没有参数
Calculate()

我想您应该将方法
Calculate(inta,intb)
更改为

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();

您有一个带有两个参数的方法
Calculate(inta,intb)
,但调用该方法时没有参数
Calculate()

我想您应该将方法
Calculate(inta,intb)
更改为

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();

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

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

您得到了什么错误?您得到了什么错误?我得到的错误是-非静态方法计算()无法从静态文件中引用context@jay您应该将
static
word添加到方法签名或创建类的实例,然后调用方法无法从静态文件中引用context@jay您应该将
static
word添加到方法签名或创建类的实例,然后调用方法。