gpt4 book ai didi

java - 输入/输出 Java 示例

转载 作者:行者123 更新时间:2023-12-01 09:01:00 27 4
gpt4 key购买 nike

我正在尝试创建一个程序,反复要求水位应持续上升,并且我的程序应检测何时连续出现三个读数下降。以下是控制台上打印的内容:

现在水位是多少(毫米):20
现在水位是多少(毫米):21
现在水位是多少(毫米):23
现在水位是多少(毫米):25
现在水位是多少(毫米):27
现在水位是多少(毫米):27
现在水位是多少(毫米):34
现在水位是多少(毫米):22
现在水位是多少(毫米):25
现在水位是多少(毫米):26
现在水位是多少(毫米):28
现在水位是多少(毫米):27
现在水位是多少(毫米):26
现在水位是多少(毫米):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){
}
}
}
}

最佳答案

这里的问题是,您每次都将当前的 waaterLevel 与第一个水位(即 initialWaterLevel)进行比较,因此您会得到意外的输出。您应该在循环结束时将 initialWaterLevel 更新为当前级别,以便您可以在下一个循环中进行比较。

public static void main(String[] args) {

double waterLevel, initialWaterLeve;
waterLevel = 0;
initialWaterLeve = 0;
int count=0;
Scanner sc = new Scanner(System.in);

while (waterLevel > 0){
System.out.println("What is the water level at now (in mm): ");
waterLevel = sc.nextDouble();
if (waterLevel < initialWaterLevel){
count++;
}
else{
count=0;
}

if(count>=3){
System.out.println("It appears that the flood is subsiding.");
break; // if you want to come out of loop.
}
initialWaterLevel = waterLevel;
}
}

不需要 ArrayList 或 Queue,因为您的目标是检查是否连续发生三个减少,这可以通过 int 变量轻松完成。 (记住这样的技巧)

关于java - 输入/输出 Java 示例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41665326/

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