ScannerとBufferedReaderの違いについて
Aizu Online ジャッジというサイトのこの問題(http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=ITP1_4_D)
を解いています。
以下のコードを提出するとRuntime errorになってしまうのですが、どこが間違っているか教えてください。
標準入力を2行ともBufferedReaderで取得すれば成功するのですが、1行目をScanner、2行目をBufferedReaderで取得するとRuntime errorになります。
Scannerが何かいけないような気はするのですが、どういう問題が発生しているのかよくわかりません。
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Scanner;
public class test{
public static void main(String[] args){
Scanner scan = new Scanner(System.in);
BufferedReader reader=new BufferedReader(new InputStreamReader(System.in));
try{
int n=scan.nextInt();
String s=reader.readLine();
String[] str =s.split(" ");
int array_num[]= new int[n];
long max, min, sum;
sum=0;
max=-1000000;
min=1000000;
for(int i=0;i<n;i++){
array_num[i]=Integer.parseInt(str[i]);
sum+=array_num[i];
if(array_num[i]>max)max=array_num[i];
if(array_num[i]<min)min=array_num[i];
}
System.out.println(min+" "+max+" "+sum);
scan.close();
reader.close();
}catch(IOException e){
System.out.println("エラー:"+e);
}
}
}