循环接收基于用户输入的最小值 - 没有数组

时间:2013-08-29 21:00:02

标签: java while-loop variable-assignment minimum

我试图创建一个循环,询问用户输入(无限数字)一旦我按0,它将采用最小数字给我最小值。我虽然它有效,但我测试了负数,并没有给我负数作为最小值,它一直给我0作为最小值。有什么建议。

Scanner scan = new Scanner(System.in);

int num = scan.nextInt();
int min;

while (num != 0)
{
    num = min = scan.nextInt();

    if( num < min )
    {
        min = num;
    }

    if (num == 0)
    {
        System.out.print(min);
    }
}
scan.close();

1 个答案:

答案 0 :(得分:0)

问题在于你总是覆盖你的min值:

num = min = scan.nextInt();

功能相同:

min = scan.nextInt(); num = min;

如果删除该语句的min部分,它应该可以正常工作:

num = scan.nextInt();