|
|
back to boardWhere is the end of the file in Java? Posted by Skulty 23 Mar 2007 22:33 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? Re: Where is the end of the file in Java? Posted by dimozzz 23 Mar 2007 23:16 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 Re: Where is the end of the file in Java? Posted by Skulty 24 Mar 2007 19:04 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? Re: Where is the end of the file in Java? Posted by dimozzz 24 Mar 2007 20:42 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 |
|
|