Java循环-不断请求用户输入
我看了一些其他类似的帖子,但没有找到解决方案,因此寻找你的宝贵意见,提前谢谢 我想要什么:将要求您输入一个符号(Java循环-不断请求用户输入,java,Java,我看了一些其他类似的帖子,但没有找到解决方案,因此寻找你的宝贵意见,提前谢谢 我想要什么:将要求您输入一个符号(+,-,/),输出将显示“您输入的减号”(如果您的输入是-) 接受输入的类 import java.util.Scanner; public class TakeSign { Scanner userInput = new Scanner(System.in); /*Create an object of scanner class*/ public char my
+
,-
,/
),输出将显示“您输入的减号”(如果您的输入是-
)
接受输入的类
import java.util.Scanner;
public class TakeSign {
Scanner userInput = new Scanner(System.in); /*Create an object of scanner class*/
public char mySign() {
System.out.print("Enter a sign: ");
char input2 = userInput.next().charAt(0);
return input2;
}
}
主类
public class Main {
public static void main (String[]args) {
TakeSign ts = new TakeSign();
if (ts.mySign() == '+') {
System.out.println("You entered plus");
}
else if (ts.mySign() == '-') {
System.out.println("You entered minus");
}
else if (ts.mySign() == '/') {
System.out.println("You entered division");
}
}
}
问题
如果我的第一个输入是/
(除法),我会被询问3次。我原以为只会被问一次
Enter a sign: /
Enter a sign: /
Enter a sign: /
You entered division
我认为问题出在循环中,我可能写得不对。你能给我指一下正确的方向吗?mySign方法要求用户输入。因此,如果您调用
ts.mySign()
三次,它将询问用户三次。但这就是你在if
和else
语句链中所做的
您需要在
if
语句之前调用ts.mySign()
一次,将结果分配给一个变量,然后只需在每个if
语句中检查该变量的值。您需要将ts.mySign()
分配给一个变量,并在if语句中使用该变量
public static void main(String[] args) {
TakeSign ts = new TakeSign();
char sign = ts.mySign();
if (sign == '+') {
System.out.println("You entered plus");
} else if (sign == '-') {
System.out.println("You entered minus");
} else if (sign == '/') {
System.out.println("You entered division");
}
}
您在if语句中调用了3次ts.mySign()
调用它一次,并将其存储在变量中,然后与符号进行比较
i、 e
你可以用
switch( ts.mySign() ){
case '+':
System.out.println ("You entered plus");
break;
case '-':
System.out.println ("You entered mimus");
break;
case '*':
System.out.println ("You entered asterisk");
break;
case '/':
System.out.println ("You entered slash");
break;
default:
System.out.println ("Input error");
break;
}
谢谢你,这就解释了问题。
switch( ts.mySign() ){
case '+':
System.out.println ("You entered plus");
break;
case '-':
System.out.println ("You entered mimus");
break;
case '*':
System.out.println ("You entered asterisk");
break;
case '/':
System.out.println ("You entered slash");
break;
default:
System.out.println ("Input error");
break;
}