2013-08-01 50 views
10

Tôi gặp sự cố khi đọc đầu vào cho đến EOF trong Java. Ở đây, có đầu vào đơn và đầu ra xem xét đầu vào mỗi dòng.Làm thế nào để đọc cho đến khi kết thúc của tập tin (EOF) bằng cách sử dụng BufferedReader trong Java?

Ví dụ:

đầu vào:

1 
2 
3 
4 
5 

đầu ra:

0 
1 
0 
1 
0 

Nhưng, tôi đã được mã hóa sử dụng Java, sản lượng duy nhất sẽ được in khi tôi còn nhập hai số. Tôi muốn đầu vào duy nhất và in đầu ra duy nhất mỗi dòng (chấm dứt EOF) sử dụng BufferedReader trong Java.

Đây là mã của tôi:

BufferedReader input = new BufferedReader(new InputStreamReader(System.in)); 
StringBuffer pr = new StringBuffer(""); 

String str = ""; 
while((str=input.readLine())!=null && str.length()!=0) { 
    BigInteger n = new BigInteger(input.readLine()); 
} 
+2

bạn có thể dán mã của mình để cố gắng giúp bạn không? – Deckard27

+0

Có lẽ 'br.readLine()! = Null' !!! – NINCOMPOOP

+0

dán mã của bạn? Những gì bạn đã cố gắng như vậy cho –

Trả lời

13

Bạn đang tiêu thụ một dòng tại, được loại bỏ

while((str=input.readLine())!=null && str.length()!=0) 

và đọc một bigint tại

BigInteger n = new BigInteger(input.readLine()); 

vì vậy hãy thử nhận được bigint từ chuỗi được đọc là

BigInteger n = new BigInteger(str); 

    Constructor used: BigInteger(String val) 

Aslo thay đổi while((str=input.readLine())!=null && str.length()!=0) để

while((str=input.readLine())!=null) 

thấy liên quan post string to bigint

readLine() 
Returns: 
    A String containing the contents of the line, not including any line-termination characters, or null if the end of the stream has been reached 

thấy javadocs

+0

cảm ơn, nhưng làm thế nào về EOF? –

+0

EOF sẽ được phát hiện tại '(str = input.readLine())! = Null' –

+0

Ồ, Chúa ơi. Cảm ơn, Nó hoạt động, tôi có thể tìm hiểu thêm về các dòng mà bạn đã nói với tôi. Cảm ơn và cảm ơn bạn một lần nữa, @a question –

7

Với các file văn bản, có thể EOF là -1 khi sử dụng BufferReader.read(), char bởi char. Tôi đã thực hiện một thử nghiệm với BufferReader.readLine()! = Null và nó hoạt động đúng cách.

Các vấn đề liên quan