我正在尝试用Java和3个类来制作计算器

Mus*_*afa 6 java calculator

我是JAVA编程的新手,并且正在尝试创建一个由2个类和一个接口组成的Java程序.主类是StartingPoint.java,另一个类是Calculate.java,接口是Equations.java.

到目前为止,我在Equation.java接口中有一个方程式,它由一个简单的加法函数组成.我希望程序提示用户插入2个整数并返回添加的解决方案.任何帮助将不胜感激.

这是我的主类叫StartingPoint.java

import java.util.Scanner;


public class StartingPoint {
public static void main (String Hoda[]){

    System.out.println("Please enter two values");

    Scanner a = new Scanner(System.in);
    Scanner b = new Scanner(System.in);

    Calculate calculator = new Calculate();

    int answer = calculator.add(in.nextInt(a), nextInt(Scanner b));
    System.out.print(answer);
}
}
Run Code Online (Sandbox Code Playgroud)

这是我的第二个类:Calculate.java

import java.util.Scanner;


public class Calculate implements Equations {



@Override
public int add(Scanner a, Scanner b) {
    // TODO Auto-generated method stub
    return  (a + b);
}

}
Run Code Online (Sandbox Code Playgroud)

这是我的接口,名为Equations.java

import java.util.Scanner;



public interface Equations {
int add(Scanner a, Scanner b);
}
Run Code Online (Sandbox Code Playgroud)

Seb*_*eit 2

您可能想将值转换为整数......如下所示:

@Override
public int add(Scanner a, Scanner b) {
    int n1=Integer.parseInt(a.next());
    int n2=Integer.parseInt(b.next());
    return  (n1 + n2);
}
Run Code Online (Sandbox Code Playgroud)

我发现你是java新手。看看你的函数:

public int add(...
Run Code Online (Sandbox Code Playgroud)

java 期望该函数返回一个整数。您返回 a + b,但 a 和 b 是对象 Scanner 的实例,而不是 Integers。所以我们必须将输入字符串“转换”为整数对象。Java 是一种非常高级的语言,因此几乎每个对象都有大量方法可以帮助我们做任何我们想做的事情。在本例中,Integer 类有一个名为 parseInt(String args) 的静态方法,它将解析给定的字符串并检查它是否是数字。如果它是数字,它将返回一个整数。如果没有,它将抛出异常。这就是为什么您应该验证输入。如果您输入非数字值,它将崩溃。