gpt4 book ai didi

java - 需要帮助编写一个程序,找到最高和第二高的数字是一个系列

转载 作者:行者123 更新时间:2023-11-29 05:52:07 26 4
gpt4 key购买 nike

该程序旨在让用户输入一系列数字,直到用户输入我设置为 0 值的哨兵。用户输入哨兵后,程序应该打印最大的数字和第二大的数字该列表中的编号。我遇到的问题是我希望第二高的数字是打印 0 而不是。

是否有使用 ?: 运算符来解决此问题的更优雅的方法?是否可以?

import acm.program.*;

public class LargestAndSecondLargest extends ConsoleProgram {

public void run() {

int a = 0;
int b = 0;

while (true) {

int value = readInt(" ?: ");

if (value == SENTINEL) break;

if (value > a) {
a = value;
}
else if (value > b) {
b = value;
}
}

println("the largest value is " + a);
println("the second largest number is" + b);
}

private static final int SENTINEL = 0;
}

最佳答案

有两个问题:

  1. 第二次比较错误。
  2. 当你遇到一个新的最高数字时,你需要将之前最高的数字移到第二高的位置。否则序列 1、2、3 将产生 3 和 1 作为两个最高数字。

关于java - 需要帮助编写一个程序,找到最高和第二高的数字是一个系列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13483117/

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