Notice
Recent Posts
Recent Comments
Link
«   2024/05   »
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
Archives
Today
Total
관리 메뉴

최's 먹공로그

JAVA_Buffer활용 본문

JAVA

JAVA_Buffer활용

ChoiSH313 2019. 2. 6. 13:55
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