2013-08-01 21 views
10

Java numaralı telefondan EOF tarihine kadar olan girişi okurken sorun yaşıyorum. Burada, tek giriş vardır ve çıktı her bir çizgiyi girdiler.Java'da BufferedReader'ı kullanarak dosyanın sonuna (EOF) kadar nasıl okunur?

Örnek:

girişi:

1 
2 
3 
4 
5 

çıkışı:

0 
1 
0 
1 
0 

ben zaman, Java kullanarak kodlanmış, tek bir çıkış baskılı olacak iki sayı girerek. Java'da BufferedReader kullanarak tek bir giriş yapmak ve her satırı tek bir satırda yazdırmak (EOF'u sonlandır).

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

Yardım etmek için kodunuzu yapıştırabilir misiniz? – Deckard27

+0

Muhtemelen 'br.readLine()! = Null' !!! – NINCOMPOOP

+0

kodunuzu yapıştırın? –

cevap

13

Sen

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

atılır bir çizgi, alıcı ve

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

bir bigint okuma böylece bigint alma deneyin:

Bu

benim kodudur

012 olarak okunan dizeden

Aslo değişim while((str=input.readLine())!=null && str.length()!=0) için

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

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 

metin dosyaları ile javadocs

+0

teşekkürler, ama nasıl EOF hakkında? –

+0

EOF, '(str = input.readLine())! = Null' –

+0

Oh 'de algılandı. Teşekkürler, işler, bana anlattığın hatlar hakkında daha fazla şey öğrenebilirim. Teşekkürler ve tekrar teşekkürler, bir soru –

7

bakınız ilgili bkz belki EOF -1 BufferReader.read(), kömürü kullanırken char tarafından. BufferReader.readLine()! = Null ile bir test yaptım ve düzgün çalışıyordu.