【问题标题】:Recognize a number is typed twice in a row识别一个数字连续输入两次
【发布时间】:2017-10-21 14:21:55
【问题描述】:

我需要制作一个程序,不断询问用户是否可以填写数字,并且只有当用户连续输入两次数字时,它才会停止并打印类似:“是的!” 但我不知道我可以使用什么代码,所以它会识别它已经输入了两次。现在我有这样的事情:

public static void main(String[] args) {
    Scanner input = new Scanner(System.in);
    while (true) {
        System.out.println("Type some numbers and dont forget to click enter after each number");
        int number = input.nextInt();
        if ( ...... ) {
            System.out.println("yeay");
            break;
        }else if (...){
            System.out.println("Type some numbers and dont forget to click enter after each number");
        }
    }
}

但是不知道用for循环会不会更好?

【问题讨论】:

  • 您需要一个包含先前输入值的变量。在 if 块中,将输入的值与之前输入的值进行比较。
  • 我不明白你想做什么。你能详细说明一下吗?
  • 程序不断地要求输入一个数字,但只有当一个数字连续两次给出时,程序才会停止要求您输入一个数字。但是当一个数字连续输入两次时,程序怎么会停止呢?
  • 通过将先前输入的值存储在变量中,正如我已经解释的那样。

标签: java for-loop int


【解决方案1】:

在循环外声明一个变量并将其分配给number。然后下次检查循环外的变量是否与输入的新值相同。

这是一个例子:

Scanner input = new Scanner(System.in);
long previous = Long.MIN_VALUE;
while (true) {
     System.out.println("Type some numbers and dont forget to click enter after each number");
     int number = input.nextInt();
     if (previous == number) {
          System.out.println("yeay");
          break;
     }
     previous = number;
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-07-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-10
    相关资源
    最近更新 更多