识别一个数字连续两次输入

时间:2017-10-21 14:21:56

标签: java for-loop int

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

#include <iostream>
#include <vector>


using namespace std;

int employees[10] = { 3,1,7,6,9,7,1,0,2,6 };


void bubble_sort_address_book(void) {
    bool swapped = true;
    int i;
    int noOfEmployees = 10;
    while (swapped) {
        swapped = false;
        for (i = 1; i <= noOfEmployees ; i++) {
            if (employees[i] > employees[i - 1]) {
                int temp_employee = employees[i - 1];
                employees[i - 1] = employees[i];
                employees[i] = temp_employee;
                swapped = true;
            }
        }
    }
}
int main()
{
    int i;
    int noOfEmployees = 10;
    bubble_sort_address_book();
    for (i = 0; i<noOfEmployees; i++) {
        printf("emp %d= %d\n", i, employees[i]);
    }
    return 0;
}

但我不知道使用for-loop是否更好?

1 个答案:

答案 0 :(得分:0)

在循环外声明一个变量并将其分配给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;
}