这是我的main方法的第一部分,我提示用户输入任意数量的短语,输入保存在ArrayList中。我对此进行编码,以便程序在用户输入'q'时停止要求更多输入,但由于某种原因,当我运行它时,即使我输入q,它也不会退出循环。它只是不断要求更多的投入。我假设我在while循环中犯了一个错误,但我不完全确定是什么。
我是Java新手,所以我可能犯了一个明显的错误,但我不确定..
public static void main(String [] args)
{
//vars
String userInput;
int quitter = 0;
//arraylist
ArrayList<RecursivePalindrome> a = new ArrayList<RecursivePalindrome>();
//scanner
Scanner in = new Scanner(System.in);
//user input
System.out.println("\t Palindrome Checker");
System.out.print("Input phrase one at a time (press 'q' to quit): ");
while(quitter == 0)
{
userInput = in.next();
if(userInput == "q" )
{
quitter++;
}
a.add(new RecursivePalindrome( userInput));
System.out.print("Input phrase one at a time (press 'q' to quit): ");
}
System.out.println();
答案 0 :(得分:4)
字符串比较
使用.equals
if(userInput.equals("q"))
{
quitter++;
}
答案 1 :(得分:2)
将字符串与equals()
进行比较,然后将break
退出while循环
if(userInput.equals("q" ))
{
quitter++;
break;
}