Java
Java[Scanner]
developer_Michael
2023. 3. 23. 18:34
반응형
자바에서 Scanner는 사용자의 입력을 받는 방법 중 하나입니다.
Scanner는 표준 입력 스트림(System.in)으로부터 사용자의 입력을 읽어들이며,
이를 사용하여 프로그램 내에서 데이터를 처리하거나 조작할 수 있습니다.
Scanner 클래스는 java.util 패키지에 포함되어 있으며,
Scanner 객체를 생성한 후에는 다양한 메소드를 사용하여 사용자로부터 입력을 받을 수 있습니다.
아래는 Scanner를 사용하여 사용자로부터 입력을 받고 출력하는 예시입니다.
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
// 정수 입력 받기
System.out.print("정수를 입력하세요: ");
int intValue = scanner.nextInt();
System.out.println("입력한 정수는 " + intValue + "입니다.");
// 실수 입력 받기
System.out.print("실수를 입력하세요: ");
double doubleValue = scanner.nextDouble();
System.out.println("입력한 실수는 " + doubleValue + "입니다.");
// 문자열 입력 받기
System.out.print("문자열을 입력하세요: ");
String stringValue = scanner.next();
System.out.println("입력한 문자열은 " + stringValue + "입니다.");
// 문자 입력 받기
System.out.print("문자를 입력하세요: ");
char charValue = scanner.next().charAt(0);
System.out.println("입력한 문자는 " + charValue + "입니다.");
// 불리언 입력 받기
System.out.print("불리언 값을 입력하세요: ");
boolean booleanValue = scanner.nextBoolean();
System.out.println("입력한 불리언 값은 " + booleanValue + "입니다.");
// 바이트 입력 받기
System.out.print("바이트 값을 입력하세요: ");
byte byteValue = scanner.nextByte();
System.out.println("입력한 바이트 값은 " + byteValue + "입니다.");
// 숏 입력 받기
System.out.print("숏 값을 입력하세요: ");
short shortValue = scanner.nextShort();
System.out.println("입력한 숏 값은 " + shortValue + "입니다.");
// 롱 입력 받기
System.out.print("롱 값을 입력하세요: ");
long longValue = scanner.nextLong();
System.out.println("입력한 롱 값은 " + longValue + "입니다.");
// 플롯 입력 받기
System.out.print("플롯 값을 입력하세요: ");
float floatValue = scanner.nextFloat();
System.out.println("입력한 플롯 값은 " + floatValue + "입니다.");
scanner.close();
}
}
위 예제 코드에서는 Scanner를 이용하여 정수, 실수, 문자열, 문자, 불리언, 바이트, 숏, 롱, 플롯 등
다양한 데이터 타입을 입력으로 받고 있습니다. 각 입력 값들은 각각의 변수에 저장되어 출력되고 있습니다.
마지막에는 Scanner 객체를 close() 메소드를 이용하여 닫아주는 것이 좋습니다.
Scanner를 사용한 후에 명시적으로 close()를 호출하지 않으면 리소스 누수가 발생할 수 있습니다.
이는 큰 문제가 될 수 있으며, 프로그램 전체의 성능을 저하시킬 수 있습니다.
따라서 Scanner를 사용한 후에는 꼭 close() 메소드를 호출하여 리소스를 해제해주는 것이 좋습니다.
반응형