Java 验证char用户输入循环
我正在编写一个简单的计算器程序,用户输入两个整数和一个符号(Java 验证char用户输入循环,java,string,Java,String,我正在编写一个简单的计算器程序,用户输入两个整数和一个符号(+-*等),表示要应用于整数的运算(加、减、乘等),程序计算他们要求的内容 我有一个do-while循环,如果输入与给定符号不匹配,它会不断地请求输入 我试着比较它们,但我不成功,也不确定该怎么做 代码: Scanner scan=新的扫描仪(System.in); 整数num1,num2,和,差,积; 字符串a、b、c、userInput; 字符选择,加、减、次; System.out.print(第一个整数-->”; num1=sc
+
-*
等),表示要应用于整数的运算(加、减、乘等),程序计算他们要求的内容
我有一个do-while
循环,如果输入与给定符号不匹配,它会不断地请求输入
我试着比较它们,但我不成功,也不确定该怎么做
代码:
Scanner scan=新的扫描仪(System.in);
整数num1,num2,和,差,积;
字符串a、b、c、userInput;
字符选择,加、减、次;
System.out.print(第一个整数-->”;
num1=scan.nextInt();
System.out.print(第二个整数-->”;
num2=scan.nextInt();
a=“+”;
b=“-”;
c=“*”;
加上=a.charAt(0);
减=b.字符(0);
次数=c.charAt(0);
做{
系统输出打印(“选择+-或*”;
userInput=scan.Next();
choice=userInput.charAt(0);
}而(选择!='+'| |选择!='-'| |选择!='*');
开关(选择){
案例1:
总和=num1+num2;
System.out.println(“总和为”+总和);
打破
案例2:
差值=num1-num2;
System.out.println(“差异为”+差异);
打破
案例3:
乘积=num1’num2;
System.out.println(“产品为”+产品);
打破
}
您的代码中有一些错误,我已尝试更正它们。
看一看,
public class Main {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int num1, num2, sum, difference, product;
String userInput;
char choice, plus, minus, times;
System.out.println("First Integer: --> ") ;
num1 = scan.nextInt();
System.out.println("Second Integer: --> ") ;
num2 = scan.nextInt();
plus = '+';
minus = '-';
times = '*';
do {
System.out.println("Choose + - or *") ;
userInput = scan.next();
choice = userInput.charAt(0);
}while(choice != '+' && choice != '-' && choice != '*');
switch(choice) {
case '+':
sum = num1 + num2;
System.out.println("Sum is " + sum);
break;
case '-':
difference = num1 - num2;
System.out.println("Difference is " + difference);
break;
case '*':
product = num1 * num2;
System.out.println("Product is " + product);
break;
default :
System.out.println("Wrong Choice!");
break;
}
}
}
首先插入
'
标记,并在中更改&
的&
,而(choice!='+'&&choice!='-'&&choice!='*')
始终粘贴问题中的错误或异常堆栈跟踪(作为文本)是一个好主意。我已经编辑了相同的答案@这是非常有用的!然而,我注意到当我进入时——第一次它告诉我它是错误的,但是当我再次进入时它工作了吗?我猜它起作用了,因为第二个提示符与第一个不同,在循环中。