문제
목표 : Scanner없이 BufferdReader로 풀이해보기
- BufferedReader + InputStreamReader
1. split으로 분리해서 풀이하기
import java.io.*;
public class Main {
private static BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
public static void main(String[] args) {
try(InputStreamReader in = new InputStreamReader(System.in);
BufferedReader br = new BufferedReader(in)) {
String line;
String [] tokens;
while((line = br.readLine())!= null){
tokens = line.split("\\s");
for(int i = 0; i< tokens.length; i++){
System.out.println(tokens[i]);
if (tokens[i].equals("q")) {
return;
}
}
}
br.close();
bw.flush();
bw.close();
} catch (IOException e) {
throw new RuntimeException(e);
}
}
}
2. StringTokenizer을 사용하기
import java.io.*;
import java.util.StringTokenizer;
public class Main {
public static StringTokenizer st;
public static void main(String[] args) {
try (InputStreamReader in = new InputStreamReader(System.in);
BufferedReader br = new BufferedReader(in);){
st = new StringTokenizer(br.readLine()," ");
while(st.hasMoreTokens()){
String compare = st.nextToken();
System.out.println(compare);
if(compare.equals("q")) {
return;
}
}
} catch (IOException e) {
throw new RuntimeException(e);
}
}
}