Соответствующий InputOutput - PullRequest
0 голосов
/ 01 мая 2018

Добрый день, я застрял в поиске правильного способа реализации функции, функция имеет следующие функции.

1. При запуске программы отображается текст для ввода ключа или оставления поля пустым.

2. Если был введен текст, выполните A.

3. Если текст не был введен, выполните B.

Это то, что я сделал до сих пор.

System.out.println("Enter any key to get data or leave empty");
//Just give some value
int value = 0;
try {
    for (int i = 5; i > 0; i--) {
        System.out.println("Starting in " + i);
        Thread.sleep(1000);
        //If enter was pressed then theoretically value
        //should be 1(Not working)
        value = System.in.read();
    }
    if (value != 0) {
        Database.getInstance().getAllStamps();
    } else {
        start();
    }

} catch (Exception e) {
    e.printStackTrace();
}

Ответы [ 2 ]

0 голосов
/ 01 мая 2018
  Scanner sc = new Scanner(System.in);
  for (int i = 5; i > 0; i--) {
     System.out.println("Starting in " + i); 
     Thread.sleep(1000);     // Execution pauses
     if(sc.hasNext())
          // call your function
          break;
     }
 }

или

boolean flag = false;
for (int i = 5; i > 0; i--) {
     System.out.println("Starting in " + i); 
     Thread.sleep(1000);     // Execution pauses
     if(sc.hasNext())
         flag = true;

     }
 }
 if(flag) { 
 // call your function 

 }
0 голосов
/ 01 мая 2018

Один из способов получить необработанный ввод - использовать java.util.Scanner.

Используйте что-то вроде этого:

Scanner sc = new Scanner(System.in);
if(sc.hasNext()){
    //do stuff with input
}
else{
    //handle stuff
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...