0

我试图创建一个循环,要求用户输入(无限数字),一旦我按下 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();
4

1 回答 1

0

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

num = min = scan.nextInt();

在功能上等同于:

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

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

num = scan.nextInt();

于 2013-08-29T21:03:32.070 回答