gpt4 book ai didi

Java - 验证运算符

转载 作者:行者123 更新时间:2023-12-01 14:12:04 25 4
gpt4 key购买 nike

我编写了下面的程序,但对问题的 b 部分感到困惑。问题是——编写一个程序来计算简单表达式,例如 17 + 3 和 3.14159 *4.7.表达式由用户输入。输入始终包含一个数字,后跟一个运算符,最后跟另一个数字。允许的运算符有 +、-、* 和/。您不需要在此处执行数据验证,因为它将在下面的 (b) 部分中完成。您的程序输出必须显示输入的表达式以及结果(例如 17 + 3 = 20)。

B 部分:修改上面 (a) 部分中的程序以验证输入的运算符。程序重复输入,直到输入有效的运算符。您需要使用方法进行验证。

这是我写的

import java.util.Scanner;
public class JavaCalculator
{
public static void main(String[] args)
{
Scanner console = new Scanner(System.in);
double digit1;
double digit2;
double total;
String operator1;

System.out.print("Enter 1st number: ");
digit1 = console.nextDouble();

System.out.print("Enter the operator: ");
operator1=console.next();

System.out.print("Enter 2nd number: ");
digit2 = console.nextDouble();

if (operator1.equals("-"))
{
total = digit1-digit2;
System.out.println(+digit1+ "-" +digit2+ "=" +total);
}
else if (operator1.equals("+"))
{
total = digit1+digit2;
System.out.println(+digit1+ "+" +digit2+ "=" +total);
}
else if (operator1.equals("*"))
{
total = digit1*digit2;
System.out.println(+digit1+ "*" +digit2+ "=" +total);
}
else if (operator1.equals("+"))
{
total = digit1/digit2;
System.out.println(+digit1+ "/" +digit2+ "=" +total);
}

}

}

刚刚开始接触Java,请原谅我在这个问题上的无知。我应该从哪一行开始 B 部分来验证运算符(operator)?

最佳答案

这里我重写了你的代码。我希望这能满足您的期望。

 public static void main(String[] args)  {
Scanner console = new Scanner(System.in);
double digit1;
double digit2;
double total;
String operator = "";
boolean repeatFlag = true;
while(repeatFlag) {
System.out.print("Enter a valid operator(+, -, /, *): ");
operator = console.next();
if(!(operator.equals("+") ||
operator.equals("-") || operator.equals("/") || operator.equals("*")))
{
repeatFlag=true;
continue;
}
repeatFlag = false;
}

System.out.print("Enter 1st number: ");
digit1 = console.nextDouble();
System.out.print("Enter 2nd number: ");
digit2 = console.nextDouble();

if (operator.equals("-"))
{
total = digit1-digit2;
System.out.println(+digit1+ "-" +digit2+ "=" +total);
}
else if (operator.equals("+"))
{
total = digit1+digit2;
System.out.println(+digit1+ "+" +digit2+ "=" +total);
}
else if (operator.equals("*"))
{
total = digit1*digit2;
System.out.println(+digit1+ "*" +digit2+ "=" +total);
}
else if (operator.equals("/"))
{
total = digit1/digit2;
System.out.println(+digit1+ "/" +digit2+ "=" +total);
}

}

关于Java - 验证运算符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18437680/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com