我正在尝试用 Java 和 3 个类制作一个计算器
Posted
技术标签:
【中文标题】我正在尝试用 Java 和 3 个类制作一个计算器【英文标题】:I am trying to make a calculator with Java and 3 Classes 【发布时间】:2013-05-25 05:47:36 【问题描述】:我对 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);
这是我的第二个类: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);
这是我的接口,名为 Equations.java
import java.util.Scanner;
public interface Equations
int add(Scanner a, Scanner b);
【问题讨论】:
你的问题是什么? 我在返回 (a+b) 行上的 Calculate.java 类上出现错误。我觉得这就是不让我继续前进的原因 您的界面不应接受两个扫描仪。它应该接受两个int
s。您的计算器如何获取输入与计算引擎本身无关。相反,您的 StartingPoint
类应该从用户那里收集两个 int
s,并将它们传递给计算器。
你应该意识到Java是一个词而不是一个首字母缩写词
【参考方案1】:
您可能希望将值转换为整数...类似这样:
@Override
public int add(Scanner a, Scanner b)
int n1=Integer.parseInt(a.next());
int n2=Integer.parseInt(b.next());
return (n1 + n2);
我知道你是 Java 新手。看看你的函数:
public int add(...
java 期望这个函数返回一个整数。您正在返回 a + b,但 a 和 b 是对象 Scanner 的实例,而不是整数。 所以我们必须将输入字符串“转换”成整数对象。 Java 是一种非常高级的语言,所以几乎每个对象都有很多方法可以帮助我们做任何我们想做的事情。在这种情况下,Integer 类有一个名为 parseInt(String args) 的静态方法,它将解析给定的字符串并检查它是否为数字。如果它是数字,它将返回一个整数。如果没有,它会抛出异常。 这就是为什么你应该验证输入。如果你输入一个非数值,它会崩溃。
【讨论】:
哇!非常感谢你。我花了整整一个小时试图在互联网上查找解决方案。像你这样的人给了我希望!对此,我真的非常感激!如果您不介意,您能告诉我您所做的更改以及它对我的代码有何帮助吗? 好的...所以我知道 parseInt 函数将输入转换为整数,但是 a.next() 和 b.next() 是做什么的? 首先:它有效吗?没试过。。。看看这个:docs.oracle.com/javase/7/docs/api/java/util/Scanner.html 你是怎么知道这么多方法的?我发现知道 Java 的所有这些方法和功能让您感到很困惑?随着您现在编码越来越多,它是否变得更容易了,我仍然想知道这是否适合我 @Mustafa 你经常使用的常用功能会坚持下去,但最重要的是你学会了正确的关键词来搜索。根据我的经验,我发现 java 真的很难开始,然后有一天它只是点击 amd 现在它是世界上最简单的事情以上是关于我正在尝试用 Java 和 3 个类制作一个计算器的主要内容,如果未能解决你的问题,请参考以下文章