如果没有直接给我答案,有人可以帮助我使用这个我想写的简单计算器吗? 当我要求用户做出加,减,乘或除的选择时,一切似乎都能正常工作。它不允许我在控制台中输入我的选择。 我认为它与我创建的String数组和if语句有关。不确定。任何提示都将非常感激。
import java.util.Scanner;
public class simpleCalculator {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
//declare my variables
int firstNum;
int secondNum;
int division = 0, addition = 0, subtraction = 0, multiplication = 0;
String userChoice = "";
String choices[] = {"add","multiply","divide","subtract"};
//ask for user input
System.out.print("Please enter first number: ");
firstNum = input.nextInt();
System.out.print("Please enter second number: ");
secondNum = input.nextInt();
System.out.println("What type of operation would you like to perform on these numbers?");
System.out.println("add " +"multiply " +"subtract " + "divide ");
userChoice = input.nextLine();
if (userChoice == "add"){
System.out.print("Answer = " + addition);
}
//calculator formulas
addition = firstNum + secondNum;
multiplication = firstNum * secondNum;
subtraction = firstNum - secondNum;
division = firstNum / secondNum;
}
}
答案 0 :(得分:1)
nextInt()只读取数字后面的数字而不是行的结尾。在每个nextInt()之后你需要一个nextLine()来消耗该行的其余部分。
此外,在你撞墙之前,以下声明对你不起作用:
if (userChoice == "add")
==测试参考相等。
.equals()测试值的相等性。所以你需要这样的东西:
if (userChoice.equals("add"))
我想给你那个免费赠品,因为我喜欢你的态度,你不希望任何人给你答案。你很想学习它。保持良好的工作。
答案 1 :(得分:0)
说String a == String b意味着你要比较两个字符串以查看它们是否具有引用相等性,同时说a.equals(b)将比较存储在字符串中的值。
引用相等用于比较两个对象引用是否指向同一个对象,在这种情况下,当您尝试比较两个变量的值是否相等时,您不应该使用它们。
if(userChoice.equals("add"))