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를 선택해주세요");
}
}
}
}