计算(初学者)

时间:2014-08-31 07:59:15

标签: java function add calculator

我一直试图制作一个简单的计算器

    import java.util.Scanner;

    public class Math {

    static Scanner input = new Scanner(System.in);

    private static void Add(int a, int b,int c){

        System.out.println("First nummber...");
        a = input.nextInt();
        System.out.println("secound nummber...");
        b = input.nextInt();

        c = a + b;

        System.err.println(c);



    }

    public static void main(String[] args) {

        Add();

    }

}

但我得到了这个错误“ Math类型中的方法Add(int,int,int)不适用于参数()

然后我尝试将变量添加到主函数

中的Add()
public static void main(String[] args) {

    Add(a,b,c);

}

然后我收到此错误“此行的多个标记                            - b无法解析为变量                            - c无法解析为变量                            - a无法解析为变量

如何调用Add()函数?

6 个答案:

答案 0 :(得分:1)

因为你还没有声明a,b和c。

尝试这样。

public static void main(String[] args) {

  Add(0,0,0);

 }

旁注,您正在阅读功能中的a和b。您可以在主页中阅读它们并将它们传递给它。

 public static void main(String[] args) {

  Scanner scanner =  new Scanner(System.in);

  int a = scanner.nextInt();

  int b = scanner.nextInt();      

  int c =  Add(a,b);

  System.out.println("Addtion of " + a + " and " + b + " is " + c);

 }

然后你的添加功能将获得a和b并且只需添加它。

  public static int Add(int a, int b){
     return a + b;
  }

答案 1 :(得分:1)

所有其他答案都指出了问题而没有提供我认为正确的解决方案。由于您要求用户输入,因此将变量声明为参数是不合适的。相反,您应该声明局部变量:

public class Math {
    static Scanner input = new Scanner(System.in);

    private static void Add(){
        System.out.println("First nummber...");
        int a = input.nextInt();
        System.out.println("secound nummber...");
        int b = input.nextInt();

        int c = a + b;

        System.err.println(c);
    }

    public static void main(String[] args) {
        Add();
    }
}

答案 2 :(得分:0)

您已将Add()声明为接受3个参数的方法:Add(int a, int b, int c)并且您没有调用它。

从以下位置更改方法签名:

private static void Add(int a, int b,int c)

为:

private static void Add()

除此之外,您还必须在方法中声明a,b,c:

public static void main(String[] args) {
    Add();
}

private static void Add(){
    System.out.println("First number...");
    int a = input.nextInt();
    System.out.println("second number...");
    int b = input.nextInt();
    int c = a + b;
    System.out.println(c);
} 

旁注
请勿使用System.err.打印调试打印,请使用System.out.println()

答案 3 :(得分:0)

import java.util.Scanner;

public class Math {

static Scanner input = new Scanner(System.in);

private static void Add(){ //do not use arguments here for just calling it 

    System.out.println("First nummber...");
    int  a = input.nextInt();
    System.out.println("secound nummber...");
    int b = input.nextInt();

    int c = a + b;

    System.err.println(c); //use System.out.println(c);



}

public static void main(String[] args) {

    Add();

}

}

从您的代码中修改此功能

答案 4 :(得分:0)

您可以像这样重写代码。

import java.util.Scanner;

public class Math {

   static Scanner input = new Scanner(System.in);

   private static int Add(int a, int b){    
       return a + b;
   }

   public static void main(String[] args) {
       System.out.println("First nummber...");
       int a = input.nextInt();
       System.out.println("secound nummber...");
       int b = input.nextInt();
       int c = Add(a,b);
       System.out.println(c);        

   }

}

但是从你的代码中我可以看出你是java的新手,也许是编程的新手。所以我建议你先学习基础java和编程。 您可以在线学习

或者可以阅读一些书籍

答案 5 :(得分:-1)

ADD(1,2,3)将起作用ADD()不会

你已经用3个参数声明它并且你没有提供它