최's 먹공로그
JAVA_Buffer활용 본문
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77 |
package algo;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.StringTokenizer;
public class Buffer_test {
public static void main(String[] args) throws Exception {
// BufferedReader와 BufferedWriter 선언
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
/**
* 기본 사용
*/
String s = br.readLine(); // BufferedReader는 입력이 무조건 String 한줄로 들어간다 White space 제거하려면 뒤에 .trim()
bw.write(s); // OutputStream에 보내는 역할
bw.flush(); // 출력역할은 여기서 하는거
// bw.close(); // close는 자동으로 flush역할을 해줌
// casting
int a = Integer.parseInt(s);
byte b = (byte) Integer.parseInt(s);
long c = (long) Integer.parseInt(s);
char d = s.charAt(0);
boolean e = Boolean.parseBoolean(s);
boolean e2 = Boolean.valueOf(s);
/**
* 응용 사용
*/
// 문제에서 입력 유형 : 1. 띄어쓰기없이 입력 2. 중간에 띄어쓰기 있이 입력
// 1. 띄어쓰기없이 입력일 때
String s2 = br.readLine();
char[] arr = new char[s2.length()];
for (int i = 0; i < arr.length; i++) {
arr[i] = s2.charAt(i);
}
System.out.println("띄어쓰기 없을때");
for (int i = 0; i < arr.length; i++) {
System.out.print(arr[i] + " ");
}
System.out.println();
// 2. 띄어쓰기 있을 때
StringTokenizer st = new StringTokenizer(br.readLine(), " "); // split 대신 쓰는거 더 빠름
int[] arr2 = new int[st.countTokens()];
String str = "";
for (int i = 0; i < st.countTokens(); i++) {
String ss = st.nextToken();
arr2[i] = Integer.parseInt((ss)); // 문제에서 사용할때는 주로 배열에 넣고 사용
str += ss; // bw.write 이용해서 출력위해서는 마지막에 이렇게 더해줘서 사용함
}
System.out.println("띄어쓰기 있을 때 StringTokenizer 사용");
for (int i = 0; i < arr2.length; i++) { // while(st.hasMoreTokens()) 이렇게 범위를 쓰기도 함
System.out.print(arr2[i] + " ");
}
System.out.println();
System.out.println("str : " + str);
String s3 = br.readLine();
String[] arr3 = new String[s3.length()];
arr3 = s3.split(" ");
System.out.println("띄어쓰기 있을 때 split사용");
for (int i = 0; i < arr3.length; i++) {
System.out.print(arr3[i] + " ");
}
} // end of main
}
|
cs |
'JAVA' 카테고리의 다른 글
JAVA기본_switch문 (0) | 2018.12.31 |
---|---|
JAVA기본_String (0) | 2018.12.31 |
JAVA기본_연산자 (0) | 2018.12.31 |
JAVA기본_if문 (0) | 2018.12.31 |
JAVA기본_데이터 타입 (0) | 2018.12.31 |