사용자의 입력을 받을 수 있는 Scanner를 알아본다.
package scanner;
import java.util.Scanner;
//라이브러리 임포트
public class Scanner1 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
//새로운 스캐너 인스턴스 초기화
System.out.print("문자열을 입력하세요: ");
String str = scanner.nextLine(); //입력을 String으로 가져온다.
System.out.println("입력한 문자열 = " + str);
System.out.print("정수를 입력하세요: ");
int intValue = scanner.nextInt();
System.out.println("입력한 정수 = " + intValue);
System.out.print("실수를 입력하세요: ");
double doubleValue = scanner.nextDouble();
System.out.println("입력한 실수 = " + doubleValue);
}
}
print vs println
println()은 출력 후 다음 라인으로 자동으로 넘어간다. print + enter(\n) 와 같다.
*이스케이핑 문자 \n -> print("\n")
두 숫자 비교 예시
import java.util.Scanner;
public class Scanner3 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("첫 번째 숫자를 입력해주세요: ");
int num1 = scanner.nextInt();
System.out.print("두 번째 숫자를 입력해 주세요: ");
int num2 = scanner.nextInt();
if (num1 > num2) {
System.out.print("더 큰 숫자는 " + num1 + "입니다.");
} else if (num1 < num2) {
System.out.print("더 큰 숫자는 " + num2 + "입니다.");
} else {
System.out.print("두 숫자가 " + num1 + "로 같습니다.");
}
}
}
문자열 출력 예시
import java.util.Scanner;
public class Scanner4 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
// 종료를 입력할 떄 까지 입력을 계속 받기
while (true) {
System.out.print("문자열을 입력해 주세요 (끝내려면 '종료' 입력): ");
String str = scanner.nextLine();
if (str.equals("종료")) {
break;
}
System.out.println("입력한 문자열은 " + "'" + str + "'" + " 입니다.");
}
System.out.print("프로그램을 종료했습니다.");
}
}
두 숫자의 합 예시
import java.util.Scanner;
// 첫 번쨰 숫자와 두 번째 숫자를 더해서 출력하는 프로그램
// 첫 번쨰 숫자와 두 번쨰 숫자 모두 0이면 프로그램 종료
public class Scanner5 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
while (true) {
System.out.println("두 숫자의 합을 구합니다. 0, 0을 입력하면 종료됩니다.");
System.out.print("첫 번째 숫자를 입력해 주세요: ");
int num1 = scanner.nextInt();
System.out.print("두 번째 숫자를 입력해 주세요: ");
int num2 = scanner.nextInt();
int sum = num1 + num2;
if (num1 == 0 && num2 == 0) {
System.out.print("프로그램을 종료합니다.");
break;
}
System.out.println("두 숫자의 합은 " + sum + "입니다.");
System.out.println();
}
}
}
누적 합 예시
import java.util.Scanner;
//사용자는 한 번에 한 개의 정수를 입력. 0을 입력하면 프로그램을 종료된다.
// 프로그램이 종료될 떄까지 입력한 모든 정수의 합을 출력한다.
public class Scanner6 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int sum = 0;
while (true) {
System.out.print("숫자를 입력해 주세요(0은 종료): ");
int inputNum = scanner.nextInt();
System.out.println("입력한 숫자: " + inputNum);
if (inputNum == 0) {
System.out.print("지금까지의 합은 " + sum + "입니다.");
break;
}
sum += inputNum;
}
}
}
구구단 예시
import java.util.Scanner;
public class ScannerTest3 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("몇 단을 출력할까요? :");
int num = scanner.nextInt();
for (int i = 1; i < 10; i++) {
System.out.println(num + " X " + i + " = " + (num * i));
}
}
}
여러 입력 예시
import java.util.Scanner;
public class ScannerTest8 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int totalPrice = 0;
while (true) {
System.out.println("1: 상품 입력, 2: 결제, 3: 프로그램종료");
System.out.print(": ");
int option = scanner.nextInt();
scanner.nextLine();
switch (option) {
case 1:
System.out.print("상품명을 입력하세요: ");
String productName = scanner.nextLine();
System.out.print("상품 가격을 입력하세요: ");
int price = scanner.nextInt();
System.out.print("구매 수량을 입력하세요: ");
int quantity = scanner.nextInt();
int total = (price * quantity);
System.out.println("상품명: " + productName + " 가격: " + price + " 수량: " + quantity + " 합계: " + total);
System.out.println();
totalPrice += total;
break;
case 2:
System.out.println("결제할 금액은 " + totalPrice + " 입니다.");
totalPrice = 0;
break;
case 3:
System.out.print("프로그램을 종료합니다.");
return;
default:
System.out.println("올바른 옵션을 선택해 주세요.");
System.out.println();
break;
}
}
}
}
학습 출처
'JAVA > Java Start' 카테고리의 다른 글
9. 메서드(method) (0) | 2024.02.10 |
---|---|
8. 배열 Array (0) | 2024.02.02 |
6. 스코프(Scope), 타입캐스팅(Type Casting)_형변환 (0) | 2024.01.21 |
5. 반복문 (while, for, continue/break) (0) | 2024.01.20 |
4. 조건문(if, switch, 삼항 연산자) (0) | 2024.01.15 |