JAVA_coding_19

AMJ·2023년 3월 9일
0

code_log_java

목록 보기
21/29

입출력 예제

class Main {
    public static void main(String[] args) {
//        new Sol1().run(); // 입출력 scanner
//        new Sol2().run(); // 입출력 + 반복
//        new Sol3().run(); // StringBuilder 적용 결과물 출력을 위한 변환
//        new Sol4().run(); // ArrayList
//        new Sol5().run(); // ArrayList+ Stream
    }
}
class Sol1{
    public void run() {
        Scanner sc = new Scanner(System.in);
        System.out.printf("숫자를 입력해주세요(-1 : 종료) : ");
        int num1 = sc.nextInt();
        System.out.printf("숫자를 입력해주세요(-1 : 종료) : ");
        int num2 = sc.nextInt();
        System.out.printf("입력을 종료합니다.\n");

        System.out.printf("입력한 숫자(오름차순) : %d, %d\n",num1,num2);
        
        System.out.printf("프로그램을 종료합니다.\n");
        sc.close(); //scanner 종료
    }
}
class Sol2{

    public void run() {
        Scanner sc = new Scanner(System.in);
        int[] num_array = new int[10];
        int i =0;
        Arrays.fill(num_array, -2);
        while(true){
            System.out.printf("숫자를 입력해주세요(-1 : 종료) : ");

            int num = sc.nextInt();
            sc.nextLine();

            if (num == -1){
                System.out.printf("프로그램을 종료합니다.\n");
                break;
            }

            num_array[i] = num;
            i++;

        }
        System.out.printf(Arrays.toString(num_array));
//        System.out.printf("입력한 숫자(오름차순) : %d, %d\n",num1,num2);
        sc.close(); //scanner 종료
        System.out.printf("프로그램을 종료합니다.\n");
    }
}
class Sol3{
    public void run() {
        Scanner sc = new Scanner(System.in);
        int[] num_array = new int[10];
        int i =0;
        int x = -1;
        Arrays.fill(num_array, x);

        while(true){
            System.out.printf("숫자를 입력해주세요(-1 : 종료) : ");

            int num = sc.nextInt();
            sc.nextLine();

            if (num == -1){
                System.out.printf("프로그램을 종료합니다.\n");
                break;
            }

            num_array[i] = num;
            i++;

        }
        // 작은수 부터 정렬한다.
        Arrays.sort(num_array);
        // array에 들어 있는 값을 스트링빌더로 string 출력하게 변환
        StringBuilder sb = new StringBuilder();

        for (int num : num_array) {
            // 기존 array에 채워진 -1 생략
            if (num == -1) continue;
            // sb에 초기에 ,가 안찍히도록
            if (sb.isEmpty() == false) {
                sb.append(", ");
            }

            sb.append(num);
        }

        System.out.printf("입력한 숫자(오름차순) : %s\n", sb);
        System.out.println("프로그램을 종료합니다.");

        sc.close();
    }
}

ArrayList 도입

class Sol4 {

    public void run() {
        Scanner sc = new Scanner(System.in);

        List<Integer> numbers = new ArrayList<>();
        while (true) {
            System.out.printf("숫자를 입력해주세요(-1 : 종료) : ");
            int num = sc.nextInt();

            if (num == -1) {
                System.out.println("입력을 종료합니다.");
                break;
            }

            numbers.add(num);
        }

        Collections.sort(numbers);

        StringBuilder sb = new StringBuilder();

        for (int number : numbers) {
            if (number == -1) continue;

            if (sb.isEmpty() == false) {
                sb.append(", ");
            }

            sb.append(number);
        }

        System.out.printf("입력한 숫자(오름차순) : %s\n", sb);
        System.out.println("프로그램을 종료합니다.");

        sc.close();
    }
}

Stream 도입 > sort + 출력변환

class Sol5 {

    public void run() {
        Scanner sc = new Scanner(System.in);

        List<Integer> numbers = new ArrayList<>();
        while (true) {
            System.out.printf("숫자를 입력해주세요(-1 : 종료) : ");
            int num = sc.nextInt();

            if (num == -1) {
                System.out.println("입력을 종료합니다.");
                break;
            }

            numbers.add(num);
        }

        //stream 도입
            String str = numbers.stream()
                                .sorted()
                                .map(e ->""+e) // 안의 숫자를 문장화
                                .collect(Collectors.joining(", "));

        System.out.printf("입력한 숫자(오름차순) : %s\n", str.toString());
        System.out.println("프로그램을 종료합니다.");

        sc.close();
    }
}
profile
재미있는 것들

0개의 댓글