java在一个我一直试图制作的简单计算器上遇到了问题
我一直在用一个简单的计算器来计算这些错误 信息:java:编译模块“学习”时出错
Error:(24, 31) java: bad operand types for binary operator '*'
first type: java.util.Scanner
second type: java.util.Scanner
Error:(27, 31) java: bad operand types for binary operator '/'
first type: java.util.Scanner
second type: java.util.Scanner
Error:(21, 31) java: bad operand types for binary operator '-'
first type: java.util.Scanner
second type: java.util.Scanner
Error:(18, 31) java: bad operand types for binary operator '+'
first type: java.util.Scanner
second type: java.util.Scanner
Error:(16, 16) java: incompatible types: java.util.Scanner cannot be converted to int
这是我的密码
import java.util.Scanner;
class Main {
public static void main(String[] args) {
Scanner Operation = new Scanner(System.in);
Scanner num1 = new Scanner(System.in);
Scanner num2 = new Scanner(System.in);
float result = 0;
System.out.println("What is your first number?");
int num1int = num1.nextInt();
System.out.println("What is your second number?");
int num2int = num2.nextInt();
System.out.println("What operation would you like to perform?");
switch (Operation) {
case "addition":
result = num1 + num2;
break;
case "subtraction":
result = num1 - num2;
break;
case "multiplication":
result = num1 * num2;
break;
case "division":
result = num1 / num2;
break;
}
}
谢谢你们的帮助,伙计们,还有,如果我不应该发布这个,我很抱歉,我是新来的
# 1 楼答案
在你的代码中,你有一行
尝试将num1和num2相加。给定变量名称,这似乎是合理的,但是当你考虑这些行时,它变得荒谬:
你不能添加两个扫描仪,这在理论上没有意义,在实践中更没有意义。我猜你是想这么做的:
理论上这很好,但是当你尝试用num1int=3和num2int=4执行这个操作时,你会得到result=0而不是result=0.75:
这是因为整数除法总是向0取整。为了避免这种情况,将石膏加倍,如下所示:
我希望这有助于澄清你的问题。祝你好运
# 2 楼答案
num1
和num2
不是数字,而是java.util.Scanner
类型您可能会使用
num1int
和num2int
,如下所示:我建议更改名称以反映真实类型,如下所示:
注意:另外,定义两个扫描仪是不必要的。一个就够了