【问题标题】:Loops to receive the minimum based on user iput - no arrays循环以根据用户输入接收最小值 - 到数组
【发布时间】:2013-09-02 11:21:05
【问题描述】:

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

【问题讨论】:

  • 你认为这句话有什么作用? num = min = scan.nextInt(); 这句话之后,num &lt; min 什么时候才能成真?

标签: java while-loop variable-assignment minimum


【解决方案1】:

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

num = min = scan.nextInt();

功能相同:

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

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

num = scan.nextInt();

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-04-07
    • 1970-01-01
    • 2016-10-20
    • 2021-04-14
    • 2015-01-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多