我无法摆脱这种循环

时间:2014-02-25 16:27:38

标签: java input arraylist while-loop java.util.scanner

这是我的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();

2 个答案:

答案 0 :(得分:4)

字符串比较

使用.equals

 if(userInput.equals("q"))
        {
            quitter++;
        }

答案 1 :(得分:2)

将字符串与equals()进行比较,然后将break退出while循环

if(userInput.equals("q" ))
        {
            quitter++;
           break;
        }