一、防止输入超时
当我们直接使用Scanner进行输入操作的时候,每次读取输入的数据都会进行一次硬盘的IO操作,这个操作是很慢的,如果要读取的数据过多,那么我们在刷题网站上就很有可能因为多次的数据读取操作产生超时!那么该如何解决呢?
首先,我们在操作台上输入的数据存储的硬盘上,我们可以先开辟一个内存缓存区,将输入的数据在内存缓冲区中存储一份,那么每次进行读取时,电脑就可以从缓冲区中读取数据,这种读取方式比起硬盘IO要快的多!
public class test2 {//main方法public static void main(String[] args) throws IOException {Read in=new Read();//像使用Scanner一样正常使用Read}
}
class Read{//字符串裁剪StringTokenizer st=new StringTokenizer("");//1、字节流->字符流//2、带内存缓冲的字符流BufferedReader bf=new BufferedReader(new InputStreamReader(System.in));String next() throws IOException{//如果有分割符,那么就直接读取一个字符//如果没有分割符,那么就读取下一行while(!st.hasMoreTokens()){st=new StringTokenizer(bf.readLine());}return st.nextToken();}String nextLine() throws IOException{return bf.readLine();}int nextInt() throws IOException{return Integer.parseInt(next());}long nextLong() throws IOException{return Long.parseLong(next());}Double nextDouble() throws IOException{return Double.parseDouble(next());}
}
二、防止输出超时
记得使用的时候,最后,要加上out.close(),否则无法显示出来打印的东西!