mwultong Blog ... 프로그래밍 / 계산기

컴퓨터 엑셀 워드 포토샵 구글어스 WINDOWS JAVASCRIPT JAVA C++

 
Thursday, March 22, 2007

Java 자바] 정수 숫자 입력 받기, 16진수 헥사 입력; Input Hex Int Number Only


키보드에서 사용자로부터, 10진수와 16진수 정수 숫자를 입력받는 방법입니다.

사용자가 만약 정수가 아닌 실수나 문자열을 입력했다면, 바른 정수를 입력할 때까지 계속 루프를 돌리며 다시 입력을 받습니다.

키보드에서 십진수, 십육진수 정수 입력 받는 예제


소스 파일명: 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));


  }
}


잘못된 입력을 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>




실수 입력 받기: ▶▶ Java 자바] 실수 입력 받기, 키보드로, 에러 처리 루프; Input Float Number Loop


▶▶ Java/자바] 키보드 입력; 사용자 문자열/숫자 입력 받기; User Input String, Number




tag: java
자바 | Java

0 Comments:

<< Home RSS 2.0 feed

구글 Google 에서 제공하는 무료 블로그 서비스인 블로거 Blogger 의 인터넷 주소는 www.blogger.com 입니다. Blogger 에 블로그를 만들면, blogspot.com 이라는 주소에 블로그가 생성됩니다.
블로그를 직접 방문하지 않고도 최신 게시물을 구독하려면 RSS 2.0 feed 주소를 리더기에 등록하시면 됩니다.
Previous Posts
Monthly Archives
Top