输入/输出Java示例
我正在尝试创建一个程序,该程序反复要求水位不断上升,并且我的程序应该检测到连续三次下降的读数。以下是控制台上打印的内容:
现在的水位是多少(单位:mm):20
现在的水位是多少(单位:mm):21
现在的水位是多少(单位:mm):23
现在的水位是多少(单位:mm):25
现在的水位是多少(单位:mm):27
现在的水位是多少(单位:mm):27
现在的水位是多少(单位:mm):34
现在的水位是多少(单位:mm):22
现在的水位是多少(单位:mm):25
现在的水位是多少(单位:mm):26
现在的水位是多少(单位:mm):28
现在的水位是多少(单位:mm):27
现在的水位是多少(单位:mm):26
现在的水位是多少(单位:mm):25
看来洪水正在消退
目前,我知道我应该循环它,但我一直在使用python,所以我不确定如何继续使用java如何存储问题的输入,以便与之前的答案进行比较任何帮助都将不胜感激
import java.util.Scanner;
public class waterLevelProgram {
public static void main(String[] args) {
double waterLevel, initialWaterLevel;
waterLevel = 0;
System.out.print("What is the water level at now (in mm): ");
initialWaterLevel = new Scanner(System.in).nextDouble();
while (waterLevel > 0){
System.out.println("What is the water level at now (in mm): ");
waterLevel = new Scanner(System.in).nextDouble();
if (waterLevel > initialWaterLevel){
}
}
}
}
# 1 楼答案
有关如何使用ArrayList在程序中存储值的简单示例:
但是正如@jack所说,如果你只需要在水位连续三次下降时处理一个警报,你就不需要存储。 如果您需要更复杂的操作(例如统计报告),这可能是关于如何使用ArrayList的提示
# 2 楼答案
这里的问题是,您每次都将当前
waaterLevel
与第一个水位(即initialWaterLevel
)进行比较,因此您得到了意外的输出。您应该在循环结束时将initialWaterLevel
更新到当前级别,以便在下一个循环中进行比较不需要ArrayList或Queue,因为您的目标是检查一行中是否发生了三次减少,这可以通过
int
变量轻松完成。(记住这些把戏)