如何退出要求输入数组的程序?

时间:2015-08-15 21:10:51

标签: java arrays

我正在上一门课程并且我让这些程序循环运行,因此您可以通过输入" Quit"轻松退出。我在使用数组时遇到了麻烦。这使用户输入句子,然后在最后向用户显示他们输入的内容。我想让程序检查用户键入的每个输入,如果是"退出",我想退出程序。我是Java的新手,所以如果可能的话,在不使用中断的情况下寻找我理解的内容。

我试图在while循环中使用布尔值,当它设置为false时退出。

public static void main(String[] args)
{
    String [] Responses = new String [10];
    boolean ExitLoop = true;

    do  
    {
        Scanner Input = new Scanner(System.in);
        int n = 0;

        for (int i = 0; i < 10; i++)
        {
            System.out.println("Please enter sentence " + (i+1) + ": ");

            Responses[n] = Input.nextLine();
            if (Responses[n] == "Quit")
            {
                ExitLoop = false;
            }

            n++;
        }

        System.out.println();

        for (int j = 0; j < 10; j++)
        {
            System.out.println("Sentence " + (j+1) + " " + Responses[j]);
        }

   }
    while (ExitLoop);
}

1 个答案:

答案 0 :(得分:0)

您可以使用一个变量进行迭代,并且需要使用equals来比较字符串。 试试这个:

public static void main(String[] args) {    
    final int countSentences = 10;
    final String[] sentences = new String[countSentences];
    final Scanner scanner = new Scanner(System.in);

    for (int i = 0; i < countSentences; i++) {    
        System.out.println("Please enter sentence "+(i+1)+": ");    
        sentences[i] = scanner.nextLine();
        if (sentences[i].equals("Quit")) System.exit(0);
    }

    System.out.println();

    for (int j = 0; j < countSentences; j++)
        System.out.println("Sentence "+(j+1)+" "+sentences[j]);
}