Java 计算器控制台应用程序不工作
我正在尝试制作一个简单的计算器控制台应用程序。不管我做什么,答案都是0。有谁能告诉我什么是错误的,如果有什么是错误的,没有给我一个直接的答案Java 计算器控制台应用程序不工作,java,console-application,Java,Console Application,我正在尝试制作一个简单的计算器控制台应用程序。不管我做什么,答案都是0。有谁能告诉我什么是错误的,如果有什么是错误的,没有给我一个直接的答案 import java.util.Scanner; public class Calculator { public static void main(String[] args) { Scanner input = new Scanner(System.in); int firstNum;
import java.util.Scanner;
public class Calculator
{
public static void main(String[] args)
{
Scanner input = new Scanner(System.in);
int firstNum;
int secondNum;
int division = 0, addition = 0, subtraction = 0, multiplication = 0;
String userChoice = "";
String choices[] = {"add","multiply","divide","subtract"};
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?");
System.out.println("add, multiply, subtract or divide.");
input.nextLine();
userChoice = input.nextLine();
if (userChoice.equals("add"))
System.out.print("The answer is " + addition);
else if (userChoice.equals("multiply"))
System.out.print("The answer is " + multiplication);
else if (userChoice.equals("subtract"))
System.out.print("The answer is " + subtraction);
else if (userChoice.equals("divide"))
System.out.print("The answer is " + division);
division = firstNum / secondNum;
addition = firstNum + secondNum;
subtraction = firstNum - secondNum;
multiplication = firstNum * secondNum;
}
}
正如其他人已经说过的,需要在输出之前进行计算 我建议进行更多的改进:
addition
是一个操作,但变量保存此操作的结果,通常称为sum
。因此,请将这些名称用于变量。实际上,您不需要四个不同的变量,请参见下文 int result = 0;
if (userChoice.equals("add")) {
result = firstNum + secondNum;
}
else if (userChoice.equals("subtract")) {
result = firstNum - secondNum;
}
else if (userChoice.equals("multiply")) {
result = firstNum * secondNum;
}
else if (userChoice.equals("divide")) {
// maybe check if secondNum is not zero
result = firstNum / secondNum;
}
else {
System.out.print("Invalid input " + userChoice);
return;
}
System.out.print("The answer is " + result);
正如其他人已经说过的,需要在输出之前进行计算 我建议进行更多的改进:
addition
是一个操作,但变量保存此操作的结果,通常称为sum
。因此,请将这些名称用于变量。实际上,您不需要四个不同的变量,请参见下文 int result = 0;
if (userChoice.equals("add")) {
result = firstNum + secondNum;
}
else if (userChoice.equals("subtract")) {
result = firstNum - secondNum;
}
else if (userChoice.equals("multiply")) {
result = firstNum * secondNum;
}
else if (userChoice.equals("divide")) {
// maybe check if secondNum is not zero
result = firstNum / secondNum;
}
else {
System.out.print("Invalid input " + userChoice);
return;
}
System.out.print("The answer is " + result);
好的,看看你打印结果的位置,与你实际更改
除法
,加法
等值的位置相比。。。(不清楚您为什么需要这些变量-为什么不直接打印“答案是”+(firstNum+secondNum)
等等?或者在if/else部分设置一个结果变量,然后打印System.out.println(“答案是”+answer”)
谢谢!这很有帮助。现在工作起来很有魅力。计算机是垃圾,它们按照你告诉它们的顺序做你告诉它们的事情。”所以我应该交换“如果”语句和“计算器公式”?“不,您应该在输出之前进行计算。我们来看看您打印结果的位置,与您实际更改除法
、加法
等值的位置相比……(不清楚您为什么需要这些变量-为什么不直接打印“答案是”+(firstNum+secondNum)
etc?或者在if/else部分设置一个单独的结果变量,然后System.out.println(“答案是“+answer”);
谢谢!这很有帮助。现在工作起来很有魅力。计算机是垃圾,它们按照你告诉它们的顺序来做你告诉它们的事情。”所以我应该交换“if”语句和“计算器公式”?“不,您应该在输出之前进行计算。