java - 输入/输出 Java 示例

标签 java input collections java.util.scanner

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

现在水位是多少(毫米):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/

相关文章:

php - HTML 中的复选框不起作用。单击复选框时没有任何反应。如何让它发挥作用?

java - xpath 2.0可以在java中使用吗?

java - ANTLR4 grun Java 错误监听器

java - Eclipse 的 InitialContext 问题

Java 8 : Map Lambda expression

c# - 实现 IEnumerable 的类实例的技术正确术语是什么?

java - 如何按今天/本周/本月对日期数组进行排序 - android

java - 在Java中的curl命令字符串中传递Json值中的空格

c++ - 从文件中获取输入问题 C++

jquery - 如何从输入元素获取十进制数形式的值