Thursday, March 22, 2007
Java 자바] 정수 숫자 입력 받기, 16진수 헥사 입력; Input Hex Int Number Only
키보드에서 사용자로부터, 10진수와 16진수 정수 숫자를 입력받는 방법입니다.
사용자가 만약 정수가 아닌 실수나 문자열을 입력했다면, 바른 정수를 입력할 때까지 계속 루프를 돌리며 다시 입력을 받습니다.
소스 파일명: Example.java
잘못된 입력을 try...catch 문으로 처리하면, 다시 입력받기 곤란하더군요.
컴파일 및 실행 결과 화면:
실수 입력 받기: ▶▶ Java 자바] 실수 입력 받기, 키보드로, 에러 처리 루프; Input Float Number Loop
▶▶ Java/자바] 키보드 입력; 사용자 문자열/숫자 입력 받기; User Input String, Number
사용자가 만약 정수가 아닌 실수나 문자열을 입력했다면, 바른 정수를 입력할 때까지 계속 루프를 돌리며 다시 입력을 받습니다.
키보드에서 십진수, 십육진수 정수 입력 받는 예제
소스 파일명: Example.java
import java.util.*;
public class Example {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int i;
///////////////////////////////////////////////
// 10진수 정수만 입력 받기
System.out.print("정수를 입력하세요: ");
// 정수를 올바르게 입력하면 hasNextInt() 가 true/참을 반환하기에
// while 루프가 실행되지 않음
while (!sc.hasNextInt()) {
sc.next(); // 에러일 경우, 방금 입력받은 값 무시
System.err.print("에러! 올바른 정수를 다시 입력바랍니다: ");
}
i = sc.nextInt();
System.out.println("OK, 입력된 정수: " + i);
///////////////////////////////////////////////
// 16진수(HEX) 정수만 입력 받기, "0x"는 없어야 함
System.out.print("16진수를 입력하세요: ");
while (!sc.hasNextInt(16)) {
sc.next();
System.err.print("에러! 다시 입력바랍니다: ");
}
System.out.format("OK, 입력된 16진수: %X%n", sc.nextInt(16));
}
}
public class Example {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int i;
///////////////////////////////////////////////
// 10진수 정수만 입력 받기
System.out.print("정수를 입력하세요: ");
// 정수를 올바르게 입력하면 hasNextInt() 가 true/참을 반환하기에
// while 루프가 실행되지 않음
while (!sc.hasNextInt()) {
sc.next(); // 에러일 경우, 방금 입력받은 값 무시
System.err.print("에러! 올바른 정수를 다시 입력바랍니다: ");
}
i = sc.nextInt();
System.out.println("OK, 입력된 정수: " + i);
///////////////////////////////////////////////
// 16진수(HEX) 정수만 입력 받기, "0x"는 없어야 함
System.out.print("16진수를 입력하세요: ");
while (!sc.hasNextInt(16)) {
sc.next();
System.err.print("에러! 다시 입력바랍니다: ");
}
System.out.format("OK, 입력된 16진수: %X%n", sc.nextInt(16));
}
}
잘못된 입력을 try...catch 문으로 처리하면, 다시 입력받기 곤란하더군요.
컴파일 및 실행 결과 화면:
D:\Z>javac Example.java && java Example
정수를 입력하세요: tge
에러! 올바른 정수를 다시 입력바랍니다: etew
에러! 올바른 정수를 다시 입력바랍니다: 145.84
에러! 올바른 정수를 다시 입력바랍니다: 145
OK, 입력된 정수: 145
16진수를 입력하세요: sdhs
에러! 다시 입력바랍니다: 155.452
에러! 다시 입력바랍니다: FF
OK, 입력된 16진수: FF
D:\Z>
정수를 입력하세요: tge
에러! 올바른 정수를 다시 입력바랍니다: etew
에러! 올바른 정수를 다시 입력바랍니다: 145.84
에러! 올바른 정수를 다시 입력바랍니다: 145
OK, 입력된 정수: 145
16진수를 입력하세요: sdhs
에러! 다시 입력바랍니다: 155.452
에러! 다시 입력바랍니다: FF
OK, 입력된 16진수: FF
D:\Z>
실수 입력 받기: ▶▶ Java 자바] 실수 입력 받기, 키보드로, 에러 처리 루프; Input Float Number Loop
▶▶ Java/자바] 키보드 입력; 사용자 문자열/숫자 입력 받기; User Input String, Number
tag: java
자바 | Java
<< Home