当前位置: 首页 > 知识库问答 >
问题:

连续输入(输入/扫描器)两个相同的数字以中断循环“同时”Java

池永长
2023-03-14

我是一个Java的新手,我有一个问题,我不能想出比较前一个输入的数字(int)和下一个连续,我需要编写一个程序,反复读取数字从用户的键盘。当用户连续两次键入相同的数字时,程序停止循环。

谢谢你的指导。

下面是程序的运行示例:5 13 21 5 4 5 5完成!

以下是我失败的努力:)

扫描器输入=新扫描器(System.in);system.out.println(“输入数字”);

    int x = 0;
    int y = 0;
    x = input.nextInt();
    y = input.nextInt();
    while (x != y) {

        x = input.nextInt();
        y = input.nextInt();

    }

    System.out.println("Done!!!!!!!");
    input.close();

共有1个答案

胡厉刚
2023-03-14

您可以使用循环从控制台读取数字,如果上一个nubmer等于当前nubmer则停止。作为第一个数字的标记,您可以使用整数PRVnull值(作为替代,您可以为第一行使用布尔IsFirstLine标志或res.IsEmpty())。

public static List<Integer> receiveNumbers() {
    List<Integer> res = new LinkedList<>();
    Integer prv = null;

    try (Scanner scan = new Scanner(System.in)) {
        while (true) {
            int num = scan.nextInt();

            if (prv != null && prv == num)
                break;

            res.add(num);
            prv = num;
        }
    }

    return res;
}
 类似资料:
  • 问题内容: 对于Java练习,我试图创建一个程序,该程序从键盘读取整数,直到输入负数为止。 并打印整数的最大值和最小值,而忽略负数。 一旦运行,是否可以在同一程序中进行连续输入?我必须每次都继续运行该程序以输入数字。 任何帮助,将不胜感激 这是我的代码的一部分-它可以工作,但是我认为有一种更简单的方法可以执行我想要的操作,但不确定如何操作! 问题答案:

  • 问题内容: 我正在编写一个使用Event类的程序,该类中有一个日历实例和一个String类型的描述。创建事件的方法使用扫描仪获取月,日,年,小时,分钟和说明。我遇到的问题是Scanner.next()方法仅返回空格之前的第一个单词。因此,如果输入为“我的生日”,则该事件实例的描述就是“我的”。 我做了一些研究,发现人们使用Scanner.nextLine()解决此问题,但是当我尝试这样做时,它只是

  • 我想在while循环中使用单个扫描仪输入作为多个条件,其中可以检查输入是否正确,如果不正确,则重新输入输入值。 是否有一种方法来存储第一个输入并一次又一次地重用它,或者是否有一个更好的解决方案来解决我的问题?

  • 对于java实践,我正在尝试创建一个程序,从键盘读取整数,直到输入负数。 它打印整数的最大值和最小值,忽略负数。 是否有一种方法可以在同一个程序运行后继续输入?每次输入一个数字,我都要继续运行程序。 任何帮助将不胜感激 这是我的代码的一部分-它可以工作,但我认为有一种更简单的方法可以做我想做的事情,但不确定如何做!

  • 我有一个棘手的问题要解决。我使用系统。方法调用之前和之后的currentTimeMillis(),因为我必须测量这两条语句之间经过的时间。 我担心的是每次运行程序都会得到不同的结果。 我明白了(这很完美): 几秒钟后,我再次运行程序,我得到(这是错误的): 我说这个输出是错误的,因为每辆车的等待时间不应该少于100毫秒。 什么实际影响基于currentTimeMillis函数的时间计算? 为什么我