如何在读取字符串时突破循环?

时间:2015-03-24 00:16:48

标签: java for-loop while-loop java.util.scanner

例如:

Scanner keyboard = new Scanner(System.in);  
int counter=1;
while (!(keyboard.equals('0')))
{
    for (int i=1;i<=counter;i++)
    {
        prodNum[i]=keyboard.nextInt();
        quantity[i]= keyboard.nextInt();
    }   
    counter++;
}

当我输入零时,如何摆脱循环?我似乎无法弄明白。它一直在输入,即使我输入零?我需要它继续输入,直到用户输入零。

任何想法我做错了什么?

2 个答案:

答案 0 :(得分:1)

keyboard.equals('0')将编译,但它永远不会评估为true,因为Scanner对象不可能等于Character对象。

如果您希望等待扫描程序向您返回零,则应在其上调用next()nextLine(),并将结果String对象与{{1}进行比较}。

"0"

Demo.

答案 1 :(得分:0)

    int counter=1;
    int flag = 1; 
    while (flag != 0)
    {
        for (int i=1;i<=counter;i++)
        {
            if(flag == 0)
            {
                break;
            }
            prodNum[i]=keyboard.nextInt();

            quantity[i]= keyboard.nextInt();

            flag = quantity[i];

        }   
        counter++;
    }