728x90
자바에서 System.out을 통해 출력을 할 수 있는 것처럼, System.in을 통해 사용자 입력을 받을 수 있습니다. 하지만 System.in을 사용하는 방식은 약간 복잡하여, 이를 간편하게 해주는 도구가 필요합니다. 자바에서는 이러한 문제를 해결하기 위해 Scanner 클래스를 제공합니다. 이 클래스를 사용하면 사용자의 입력을 쉽게 처리할 수 있습니다.
이번 글에서는 Scanner 클래스를 사용하여 다양한 방식으로 사용자 입력을 처리하는 방법을 살펴보겠습니다.
1. 기본적인 Scanner 사용법
예제 코드 1: 간단한 문자열, 정수, 실수 입력받기
package scanner;
import java.util.Scanner;
public class Scanner1 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in); // Scanner 객체 생성
// 문자열 입력 받기
System.out.print("문자열을 입력하세요:");
String str = scanner.nextLine();
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);
}
}
실행 예시:
문자열을 입력하세요:hello
입력한 문자열: hello
정수를 입력하세요:10
입력한 정수: 10
실수를 입력하세요:1.5
입력한 실수: 1.5
2. 두 숫자의 합 계산하기
이번에는 사용자가 입력한 두 숫자의 합을 계산해보겠습니다.
예제 코드 2: 두 숫자 더하기
package scanner;
import java.util.Scanner;
public class Scanner2 {
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();
int sum = num1 + num2;
System.out.println("두 숫자의 합: " + sum);
}
}
실행 예시:
첫 번째 숫자를 입력하세요:10
두 번째 숫자를 입력하세요:20
두 숫자의 합: 30
3. 더 큰 수 출력하기
두 개의 정수를 입력받아 더 큰 수를 출력하는 프로그램을 만들어보겠습니다. 만약 두 숫자가 같으면 "두 숫자는 같습니다."라는 메시지를 출력합니다.
예제 코드 3: 큰 수 비교하기
package scanner;
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.println("더 큰 숫자: " + num1);
} else if (num2 > num1) {
System.out.println("더 큰 숫자: " + num2);
} else {
System.out.println("두 숫자는 같습니다.");
}
}
}
실행 예시:
첫 번째 숫자를 입력하세요:10
두 번째 숫자를 입력하세요:20
더 큰 숫자: 20
첫 번째 숫자를 입력하세요:5
두 번째 숫자를 입력하세요:5
두 숫자는 같습니다.
4. 반복문과 함께 사용하기
이제 Scanner와 반복문을 결합하여, 사용자가 원하는 만큼 입력을 받을 수 있는 프로그램을 만들어보겠습니다. 사용자가 "exit"을 입력하면 프로그램이 종료됩니다.
예제 코드 4: 문자열 반복 입력
package scanner;
import java.util.Scanner;
public class ScannerWhile1 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
while (true) {
System.out.print("문자열을 입력하세요(exit: 종료):");
String str = scanner.nextLine();
if (str.equals("exit")) {
System.out.println("프로그램을 종료합니다.");
break;
}
System.out.println("입력한 문자열: " + str);
}
}
}
실행 예시:
문자열을 입력하세요(exit: 종료):hello
입력한 문자열: hello
문자열을 입력하세요(exit: 종료):안녕?
입력한 문자열: 안녕?
문자열을 입력하세요(exit: 종료):exit
프로그램을 종료합니다.
5. 두 숫자의 합을 반복해서 계산하기
이번에는 사용자가 두 숫자를 입력받고, 그 숫자의 합을 계산하는 프로그램을 반복적으로 실행해보겠습니다. 만약 두 숫자 모두 0을 입력하면 프로그램을 종료합니다.
예제 코드 5: 반복적으로 숫자 더하기
package scanner;
import java.util.Scanner;
public class ScannerWhile2 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("첫 번째 숫자와 두 번째 숫자 모두 0을 입력하면 프로그램을 종료합니다.");
while (true) {
System.out.print("첫 번째 숫자를 입력하세요:");
int num1 = scanner.nextInt();
System.out.print("두 번째 숫자를 입력하세요:");
int num2 = scanner.nextInt();
if (num1 == 0 && num2 == 0) {
System.out.println("프로그램 종료");
break;
}
int sum = num1 + num2;
System.out.println("두 숫자의 합: " + sum);
}
}
}
실행 예시:
첫 번째 숫자와 두 번째 숫자 모두 0을 입력하면 프로그램을 종료합니다.
첫 번째 숫자를 입력하세요:10
두 번째 숫자를 입력하세요:20
두 숫자의 합: 30
첫 번째 숫자를 입력하세요:0
두 번째 숫자를 입력하세요:0
프로그램 종료
마무리
위에서 살펴본 것처럼 Scanner 클래스를 사용하면 사용자로부터 문자열, 숫자 등의 입력을 손쉽게 받을 수 있습니다. 또한 반복문과 함께 사용하여 프로그램이 종료되지 않고 지속적으로 입력을 받는 방식도 구현할 수 있습니다.
728x90
'Back-End > Java' 카테고리의 다른 글
Java 메서드로 중복 코드 간편하게 관리하기 (1) | 2024.10.28 |
---|---|
배열 선언과 생성 이해하기 (0) | 2024.10.26 |
자바의 형변환(Casting) 이해하기 (0) | 2024.10.22 |
지역 변수와 스코프 (0) | 2024.10.21 |
자바의 for 문 이해하기 (0) | 2024.10.17 |