Scanner

황상익·2024년 3월 19일

Inflearn JAVA

목록 보기
9/61

Scanner
System.out을 통해 출력했듯, System.in으로 사용자 입력을 받을 수 있다.

public class Scanner1 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);

        System.out.print("문자열을 입력하세요 : ");
        String str1 = sc.nextLine(); //입력을 String으로
        System.out.println("입력한 문자열 = " + str1);

        System.out.print("정수를 출력하세요 : ");
        int num = sc.nextInt(); //입력은 int로
        System.out.println("입력한 정수 = " + num);

        System.out.print("실수를 입력하세요 : ");
        double v = sc.nextDouble();
        System.out.println("입력한 실수 = " + v);
    }
}

Scanner sc = new Scanner(System.in);
-> System.in을 사용해서 사용자의 입력을 편리하게 받도록 도와준다
-> Scanner scanner 코드는 scanner 변수를 선언하는 것

sc.nextLine()
-> 엔터을 입력할 때 까지 문자를 가져온다

sc.nextInt()
-> 입력을 int형으로 가져온다. 정수 입력에 사용

만약 타입이 다르다면 오류가 발생

print() VS println()
print -> 출력하고 다음 라인으로 넘기지 않는다
println -> 출력하고 다음 라인으로 넘긴다

Scanner 예제

public class Scanner2 {
   public static void main(String[] args) {
       Scanner sc = new Scanner(System.in);

       System.out.print("첫 번쪠 숫자를 입력하세요 :");
       int num1 = sc.nextInt();

       System.out.print("두 번째 숫자를 입력하세요 :");
       int num2 = sc.nextInt();

       int sum = num1 + num2;
       System.out.println("두수의 합 : " + sum);
   }
}
public class Scanner3 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);

        System.out.print("첫 번째 숫자 :");
        int a = sc.nextInt();

        System.out.print("두 번째 숫자 :");
        int b = sc.nextInt();

        if (a > b) {
            System.out.print("더 큰 수는 " + a);
        } else if (a < b){
            System.out.print("더 큰수는 " + b);
        } else {
            System.out.println("두 수 같음");
        }
    }
}

Scanner 반복 예제

public class ScannerWhile1 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);

        while (true){
            System.out.print("문자를 입력하세요 : ");
            String str = sc.nextLine();
            if (str.equals("exit")){
                System.out.println("프로그램을 종료합니다. ");
                break;
            }

            System.out.println("입력한 문자열 = " + str);
        }
    }
}
public class ScannerWhile2 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("첫 번쨰 숫자와 두번쨰 숫자가 0이면 프로그램 종료 ");

        while (true) {
            System.out.print("숫자를 입력하세요 :");
            int a = sc.nextInt();

            System.out.print("숫자를 입력하세요 :");
            int b = sc.nextInt();

            if (a == 0 && b == 0) {
                System.out.print("프로그램을 종료");
                break;
            }

            int sum = a + b;
            System.out.print("숫자의 합은 =" + sum);
        }
    }
}
public class ScannerWhile3 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int sum = 0;

        while (true){
            System.out.print("숫자를 입력하세요 : ");
            int a = sc.nextInt();

            if (a == 0){
                System.out.println("프로그램 종료");
                break;
            }
            sum += a;
        }

        System.out.println("sum = " + sum);
    }
}

연습 문제
1.

public class Practice1 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);

        System.out.print("당신의 이름을 입력하세요 : ");
        String name = sc.nextLine();

        System.out.print("당신의 나이를 입력하세요 : ");
        int age = sc.nextInt();

        System.out.println("당신의 이름은 " + name
         + "나이는 " + age + "입니다.");
    }
}
public class Practice2 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);

        System.out.print("정수를 입력하세요");
        int num = sc.nextInt();

        if (num % 2 == 0){
            System.out.println("입력한 숫자" + num + "는 짝수 입니다");
        } else {
            System.out.println("입력한 숫자" + num + "홀수 입니다");

        }
    }
}
public class Practice3 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);

        System.out.print("음식 이름을 알려주세요 : ");
        String foodName = sc.nextLine();

        System.out.print("음식의 가격을 알려주세요 : ");
        int foodPrice = sc.nextInt();

        System.out.print("음식의 수량을 알려주세요 : ");
        int foodQuantity = sc.nextInt();

        int totalPrice = foodQuantity * foodPrice;

        System.out.println(foodName + " " + foodQuantity + "를 주문하셨습니다" + "총 각격은 " + totalPrice + "원 입니다");

    }
}
public class Practice4 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);

        System.out.print("구구단의 단 수를 입력해주세요 : ");
        int n = sc.nextInt();

        System.out.println(n + "단의 구구단 : ");
        for (int i = 1; i < 10; i++) {
            System.out.println(n + " x " + i  + " = " + n * i);
        }
    }
}
public class Practice5 {
    public static void main(String[] args) {
        int a = 10;
        int b = 20;
        int temp ;

        temp = a;
        a = b;
        b= temp;

        System.out.println("a = " + a);
        System.out.println("b = " + b);
    }
}
public class Practice6 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);

        int num1 = sc.nextInt();
        int num2 = sc.nextInt();
        int temp;

        if (num1 > num2){
            temp = num1;
            num1 = num2;
            num2 = temp;
        }

        System.out.println("두 숫자 사이의 모든 정수 : ");
        for (int i = num1; i <=num2 ; i++) {
            System.out.print(i);

            if (i != num2){
                System.out.print(" , ");
            }
        }
    }
}
public class Practice7 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);

        while (true) {
            System.out.print("이름을 입력하세요 : ");
            String name = sc.nextLine();


            if (name.equals("종료")){
                System.out.println("프로그램을 종료합니다 ");
                break;
            }

            System.out.print("나이를 입력하세요 : ");
            int age = sc.nextInt();

            System.out.print("입력한 이름 :" + name + "나이 :" + age);
        }
    }
}
public class Practice8 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);

        while (true) {
            System.out.print("상품 가격을 입력하세요 : ");
            int price = sc.nextInt();

            if (price == -1){
                System.out.println("프로그램 종료");
                break;
            }

            System.out.println("구매하려는 수량을 입력하세요 : ");
            int quantity = sc.nextInt();

            int totalPrice= price * quantity;
            System.out.println("총 비용 :" + totalPrice);

        }
    }
}
public class Practice9 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int cnt = 0;
        int sum = 0;

        while (true) {
            System.out.println("숫자를 입력하세요. :");
            int a = sc.nextInt();
            if (a == -1){
                System.out.println("입력 중단");
                break;
            }
            sum += a;
            cnt++;
            double avg =(double) a / cnt;

            System.out.print("입력한 숫자들의 합계 : " + sum);
            System.out.print("입력한 수들의 평균 : " + avg);
        }
    }
}
public class Practice10 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.print("1 :상품입력 , 2: 결제, 3: 프로그램 종료 : ");

        while (true) {
            int menuNum = sc.nextInt();
            int total = 0;

            if (menuNum == 1) {
                sc.nextLine();

                System.out.print("상품명을 입력하세요 : ");
                String productName = sc.nextLine();
                System.out.println();

                System.out.print("상품의 가격을 입력하세요 : ");
                int price = sc.nextInt();
                System.out.println();

                System.out.print("구매 수량을 입력하세요 : ");
                int quantity = sc.nextInt();
                System.out.println();

                total += price * quantity;

                System.out.print("상품명 :" + productName + " 가격 : " + price + " 수량 : " + quantity + " 합계 : " + total);

            } else if (menuNum == 2) {
                System.out.print("총 비용" + total);
                total = 0;

            } else if (menuNum == 3) {
                System.out.println("프로그램을 종료합니다");
                break;
            } else {
                System.out.print("올바른 menu를 선택해주세요");
            }

        }
    }
}
profile
개발자를 향해 가는 중입니다~! 항상 겸손

0개의 댓글