728x90

 

Scanner + String Class split() 방법을

BufferedReader+StringTokenizer으로 다시 풀어봄

 

BufferedReader의 readLine() 메소드로 입력을 받고 이 값을 담아둔 변수명인 br을 

StringTokenizer 안에 담아둬서 " "으로 구분자 지정하고 나눈다.

ex) 100 100 입력 받았으면 100 사이 공백을 기준으로 100, 100 두 수를 만들게 된다.

이 상태에서 배열에 담아 두 수를 다시 분리할 수 있도록 한다

이후에는 if문 조건

public void method01() throws IOException {
    // Step2-1 1330번 : 두 수 비교하기
    // 조건
    // 한 줄에 두 수 받기

    BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
    StringTokenizer st = new StringTokenizer(br.readLine()," ");

    int[] num = new int[2];
    for(int i=0; i < num.length;i++){
        num[i] = Integer.parseInt(st.nextToken());
    }
//        System.out.println(Arrays.toString(num));

    int num1 = num[0];
    int num2 = num[1];

    if(num1 > num2){
        System.out.println(">");
    }else if(num1 < num2){
        System.out.println("<");
    }else{
        System.out.println("==");
    }


}

 

728x90
반응형
728x90

 

문제 : 1330번: 두 수 비교하기 (acmicpc.net)

 

1330번: 두 수 비교하기

두 정수 A와 B가 주어졌을 때, A와 B를 비교하는 프로그램을 작성하시오.

www.acmicpc.net

 

brain Storming
if문 사용
한 줄에 두 수 받기 뭐가 있을까
한 줄에 공백으로 두개 받고 구분자로 나누기? StringTokenizer
방법1 : Scanner + split()
방법2 : BufferedReader + StringTokenizer

 

풀이

일단 스캐너로 숫자1 공백 숫자2 이런식으로 입력을 받고

공백을 기준으로 split을 이용하여 나눠서 배열에 넣는다(split이 배열로 반환하기에 배열로 받아줘야함)

이후 배열의 인덱스번호로 두 수를 지정하고 int로 형변환 해주면서 각각 변수에 넣어주고 if문으로 조건을 주어서 출력했다

 

정답

Scanner + String Class split() 방법

import java.util.*;

public class Main {
    public static void main(String[] args) {

        Scanner sc = new Scanner(System.in);
        String num = sc.nextLine();

        String[] nums = num.split(" "); // String Class인 split()은 배열로 반환하므로, 배열로 받아야함


        // 배열로 받은 것을 인덱스 번호로 수 2개로 나눔
        int num1 =  Integer.parseInt(nums[0]);
        int num2 =  Integer.parseInt(nums[1]);

        if(num1 < num2){
            System.out.println("<");
        }else if(num1 > num2){
            System.out.println(">");
        }else {
            System.out.println("==");
        }

    }
}

 

 

728x90
반응형

+ Recent posts