|
|
вернуться в форумIf there is a variable number of line breaks, how can you know when it is the end of the file?! I read all the posts about this and I've read the FAQ and yet I can't get the loop (the one where I ask for input) to stop when the input is over (because the program doesn't know it is over). How do you do this? If you use BufferedReader, then readLine() return null String. Example: BufferedReader in = new BuffereReader(new InputStreamReader(System.in)); String temp = in.readLine(); while(temp != null){ temp = in.readLine(); } . . . . Edited by author 23.03.2007 23:18 Thanks for the help, now I can make it up to the test#9. Unfortunatelly I can't manage to make my solution go fast enough and always exceed the time limit... I used almost all the tips I read in the FAQ an forum and still it works real slow... I think it's the printf... Is there any way around it? You musn't use Scanner, because it's too slow. It's part of my solution for this problem: public class Solution { public static void main(String[] args)throws IOException{ BufferedReader in = new BufferedReader(new InputStreamReader(System.in)); . . . String s = in.readLine(); StringTokenizer st = new StringTokenizer(s); while(s != null){ while(!st.hasMoreTokens()){ s = in.readLine(); if(s == null)break; st = new StringTokenizer(s); } if(s == null)break; n = Long.parseLong(st.nextToken()); } . . . . } } Edited by author 24.03.2007 20:43 |
|
|