2011-03-31 4 views
3

절대로 끝나지 않는이 방법을 썼습니다. 내가 뭘 통과하는지 인쇄하지 않는 이유는 무엇입니까?자바 : 콘솔에서 빈 줄을 얻을 때까지 읽으십시오.

import java.io.BufferedReader; 
import java.io.InputStreamReader; 
import java.util.ArrayList; 

class Main { 

    public void readFromConsole() { 

      ArrayList<String> wholeInput= new ArrayList <String>(); 

      InputStreamReader isr = new InputStreamReader(System.in); 
      BufferedReader br = new BufferedReader(isr); 

      try { 
       String line = null; 
       while (!(line = br.readLine()).equals(" ")){ 
       wholeInput.add(line); 
      } 

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

     for (int i =0; i<wholeInput.size();i++){ 
       System.out.println(wholeInput.get(i)); 
     } 
    } 

}

+0

는 방법은 내가 컴파일 된 파일 – shaunhusain

+0

wholeInput 무엇으로 이것을 테스트하려고합니다 간단하기 때문에 내의 readLine()가 아니라, 캐리지 리턴에 끌어 생각 해보? –

답변

5

" " 그것이 공간, 빈 줄이 아니다. ""

while (!(line = br.readLine()).trim().equals("")){ 
+0

감사합니다. – andandandand

+0

네가 빈 공간을 넣으면 잘 돌아 간다 ... 또한 캐리지 리턴에 대한 나의 이전 진술을 철회하고, 워드 프로세서를 점검 했어야한다. 나의 자바는 녹슬지 않다. 미안하다. http://download.oracle.com/javase/1.4 .2/docs/api/java/io/BufferedReader.html # readLine() – shaunhusain

+0

주의 거기에'trim()'을 넣습니다. –

관련 문제