2016-02-23 4 views
-1

Мне нужно прочитать несколько строк из stdin в java. Например, мне нужно прочитать эти две строки:Прочитайте несколько строк STDIN Java

A A A H 
A E D A H 

и дать ответ в каждой строке. Я сделал это, но я могу остановить время

Scanner sc = new Scanner(System.in);  
Posicao p; 
int max[][] = new int[4][], j = 0; 
String com; 
String[] b; 
char[] c; 

     while(sc.hasNextLine()){ 
      p = new Posicao(); 
      com = sc.nextLine(); 
      b = com.split(" "); 
      c = new char [b.length]; 
      for(int i = 0;i<b.length;i++) c[i] = b[i].charAt(0);    
      p.comando(c); 
      max[j++] = p.retorna(); 
     } 
+0

Вы были в состоянии решить эту проблему? – Perdomoff

+0

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

+0

Этот вопрос плохо написан: «но я могу остановить время»? Вы имели в виду «не могу», не так ли? Исправьте опечатки и задайте свой вопрос лучшим заголовком типа «Как прекратить чтение строк из stdin в Java?» –

ответ

0

Вы можете проверить, какие входы пользователей и выхода на пустой вход или слово «выход»:

/*This would go in your while loop, after you process the input*/ 


     if (com.equals("") | com.equals("exit")) { 
      System.out.println("Exiting..."); 
      break; 
     } else 
      System.out.println("Still in loop"); 
+0

Это может работать, но мне нужно только прочитать эти строки и выйти из программы. –

+0

Прочитайте, какие строки? При каких условиях вы хотите прекратить чтение? – Perdomoff

0

В идеале вам нужно чтобы изменить эту часть while(sc.hasNextLine()), чтобы разбить цикл. Знаете ли вы какие-либо из приведенных ниже значений?

  • Количество линий
  • Любой специальный символ с помощью которого вы можете найти конец ввода
+0

Я не знаю количество строк, единственное, что я знаю, это то, что каждая строка заканчивается символом H. Мне нужно вставить эти две строки, чтобы остановить цикл. –

Смежные вопросы