我一直试图制作一个简单的计算器
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()函数?
答案 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个参数声明它并且你没有提供它