gpt4 book ai didi

java - 获取序列中最大和第二大数

转载 作者:行者123 更新时间:2023-11-29 08:04:17 27 4
gpt4 key购买 nike

帮助我理解这段代码的最后一部分,它旨在打印序列中最大和第二大的数字。我不完全理解的是,else if 语句需要什么?使用代码:

 if (input > largest) {
secondLargest = largest;
largest = input;

这不应该正确地完成工作吗?它检查输入是否大于最大数,将第二个最大数设置为前一个最大数。并用输入的一个用户更新新的最大数字。

那么这行代码到底是做什么用的呢?以及将整数 largestsecondLargest 设置为 -1 而不仅仅是 0 的任何原因,都与此有关将中断程序的 sentinel 设置为 0?

} else if (input > secondLargest) {
secondLargest = input;

.

 int largest = -1;
int secondLargest = -1;
while (true) {
int input = readInt(" ? ");
if (input == SENTINEL) break;
if (input > largest) {
secondLargest = largest;
largest = input;
} else if (input > secondLargest) {
secondLargest = input;
}

最佳答案

用序列尝试你的程序

    1 2 3 5 4

如果省略 else if (input > secondLargest) { secondLargest = input; } 那么结果将是 largest=5 和 secondLargest=3,这是不正确的。

关于java - 获取序列中最大和第二大数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12444870/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com