我有一个菜单驱动的程序,用户被提示按照他们想要的整数输入,以便构建一个二叉搜索树 - 我刚刚开始并且一旦他们点击就会陷入阅读整数的困境“ Q“
switch(inputOption){
case 1:
System.out.println("You've selected to create a new binary tree." + "\n");
Scanner scan = new Scanner(System.in);
String again;
String tempInput;
Boolean repeat = true;
try{
System.out.println("Please enter as many integers as you'd like, hit 'Q' when you are finished." + "\n");
do{
tempInput = scan.next();
if(tempInput != "Q"){
integerInput = Integer.parseInt(tempInput);
repeat = true;
}
else
repeat = false;
}while(repeat);
}catch(InputMismatchException e){}
关于如何让它识别'Q'的任何想法?
答案 0 :(得分:1)
使用
if(!tempInput.equals("Q"))
而不是
if(tempInput != "Q")
Java字符串不适用于比较运算符。
答案 1 :(得分:0)
尝试添加(||“q”)可能有所帮助。但是你没有提供太多信息。例如,您是否使用调试器并分析了tempInput的实际值以确定它实际上是“Q”?如果是这样,那么可以尝试转换为角色,或修剪任何额外的空格或可能包含的特殊字符。
更多信息会更好:-D