用Java刷PAT时,从输入读取角度缩短时间(Scanner到Bufferedreader)

最近用Java刷PAT算法,经常遇到超时,一方面时算法不够简洁吧,另外发现输入读取的时间差也挺大。之前都是采取Scanner,后面改用BufferedReader

Scanner sc=new Scanner(System.in);
int p=sc.nextInt();

Scanner的优点在于可以读取成字符,int,double等形式

BufferedReader br = new BufferedReader(
            new InputStreamReader( System.in );
           String s= br.readLine();

BufferedReander就只能读取一个字符(br.read())或者一行( br.readLine()),那么针对PAT里面经常一行多个数字怎么提取出来呢?

思路就是,将一行先提取成字符串,然后将字符串分离成多个字符串数组,分离的区分就是那个空格,再转换成需要的形式

String[] str=s.split(" ");
int p=Integer.parseInt(str[0]);

posted @ 2020-10-23 15:59  吾乃七也  阅读(93)  评论(0)    收藏  举报