2013-05-13 2 views
2

다음 프로그램의 while 루프가 종료되지 않으므로 콘솔에 변수 단락을 인쇄하려고하는 마지막 행의 출력을 가져올 수 없습니다. 비슷한 문제가 있지만 해결책은 환자가 아니므로 할 수 없습니다. 해결책을 제안하십시오.Java 콘솔 프로그램의 명령 줄에서 단락 읽기

import java.io.BufferedReader; 
import java.io.IOException; 
import java.io.InputStreamReader; 

public class Test { 


    public static void main(String[] args) throws IOException { 
     String line = ""; 
     String paragraph = ""; 

     System.out.println("Enter the text: "); 
     InputStreamReader isr = new InputStreamReader(System.in); 
     BufferedReader bufferedReader = new BufferedReader(isr); 
      while ((line = bufferedReader.readLine()) != null) 
      { 
        paragraph = paragraph + line + " "; 
      } 
      isr.close(); 
      bufferedReader.close(); 
      System.out.println(paragraph); 
    }//method main ends here 

} 
+0

입력 값은 어떤 NULL이 –

+0

하자 당신은 그것의 널이 아닌, null이 할당 된 라인을 의미하지 않는 입력을 제공 해달라고 값 걸리지 않습니다 때문에 늘 종료 , 당신은 커맨드 라인에서 입력 널을 칠 수 없으므로, 조건은 결코 사실이 아닙니다 !! – anshulkatta

답변

2

코드

while ((line = bufferedReader.readLine()) != null)

즉 당신이 그것을 코딩하는 것을 의미하므로, 당신은 라인에 null을 지정 해달라고, 당신은 콘솔을 통해 객체에 null을 할당 할 수 없습니다 싶은 사실이 없을 것 입력을 끝내기 위해 키 또는 다른 문자를 입력하는 것과 같은 것입니다.

while(!(line.equals("exit"))) 
{ 
     //whatever 
} 

같은

이 당신이 마지막에 출구를 입력 할 때, 프로그램이 종료하고 단락을 인쇄 의미합니다.

이 조각을 시도 할 수 있습니다

import java.io.BufferedReader; 
import java.io.IOException; 
import java.io.InputStreamReader; 

    public class Test { 


     public static void main(String[] args) throws IOException { 
      String line = ""; 
      String paragraph = ""; 

      System.out.println("Enter the text: "); 
      InputStreamReader isr = new InputStreamReader(System.in); 
      BufferedReader bufferedReader = new BufferedReader(isr); 
       do 
       { 
        line = bufferedReader.readLine(); 
         paragraph = paragraph + line + " "; 
       }while(!line.equals("exit")); 
       isr.close(); 
       bufferedReader.close(); 
       System.out.println(paragraph); 
     }//method main ends here 

    } 
+0

anshulkatta 제안 된 솔루션에 감사드립니다. 그것은 작동합니다! –

+0

내 기쁨, 답을 받아 들일 것을 잊지 마세요 – anshulkatta

+0

다시 한번 감사드립니다. –

관련 문제