我正在制作一个基本的计算器。
我希望它向用户询问左侧OPERAND,然后显示用户必须选择操作员的菜单。选择操作员后,它将要求正确的操作员。完成此操作后,必须循环MENU,直到用户输入“5”退出,然后它将显示答案。
如何在获得正确的操作后循环菜单?
我刚刚开始这个,这就是我到目前为止所做的。
import java.util.Scanner;
public class program05 {
public static void main(String [] args)
{
Scanner sc = new Scanner(System.in);
System.out.print("Enter the left operand: ");
String expression = "";
double lOperand = sc.nextDouble();
System.out.print("\n");
double resultsSoFar = lOperand;
expression += lOperand;
String user;
double rOperand;
do {System.out.println("\n" + "1 -> Multiplication" + "\n" + "2 -> Division" + "\n" + "3 -> Addition" + "\n" + "4 -> Subtraction" + "\n" + "5 -> Exit" + "\n");
System.out.print("Choose an operator above: ");
user = sc.next();
System.out.print("Enter right operand: ");
rOperand = sc.nextDouble();
if (user.equals("1"))
{
resultsSoFar *= rOperand;
}
else if (user.equals("5"))
{
System.out.println("The answer is "+ resultsSoFar);
System.exit(1);
}
}
while (!user.equals("5"));
}
}
答案 0 :(得分:0)
然后将右操作数放入do-while循环中。
答案 1 :(得分:0)
嗯,在这种情况下,我sugesst你使用switch-case,甚至在do-while循环中使用if-else子句。 例如:
switch(user){
case "1":
resultsSofar *= rOperand;
break;
case "2":
break;
case "3":
break;
case "4":
break;
case "5": //Exit and print the answer
System.out.println("The answer is "+ resultsSofar);
System.exit(1);
}
希望这有帮助。
答案 2 :(得分:0)
例如:
if (user.equalsIgnoreCase("1")) {
resultsSofar *= rOperand;
} else if (user.equalsIgnoreCase("2")) {
//your code here
} else if (user.equalsIgnoreCase("3")) {
//your code here}
} //more else if here
else if (user.equalsIgnoreCase("5")) {
System.out.println("The answer is "+ resutlsSofar);
System.exit(1);
}
由于你使用double作为操作数,当rOperand = 0时,结果将是无穷大。