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

 
Previous Post 동영상 비디오 파일 포맷 확장자 종류 설명, Movie File ExtensionC에서 printf 함수로, double, float, int, unsigned int 출...C언어] switch 문 (스위치) 사용법 예제; switch-case-default St...매스매티카 팁] 수식을, Shift-Enter키 대신 쉽게 입력하는 법; Mathemati...매스매티카 팁] 수식 계산 중지,취소 핫키, 멈추는 법; Mathematica Tip, S...일식 예측 계산 프로그램, 스카이맵(SkyMap); Solar Eclipse CalcC 언어] continue 문 의미; continue StatementC언어] 상수 정의 방법, 상수 의미; Define ConstantHTML CSS] 글꼴을 굵게 진하게; 굵은 글자, 단어 강조 태그, 볼드체; Bold F...자바스크립트] 세제곱근, 네제곱근, 거듭제곱근 구하기 함수; JavaScript Cube ...

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

Thursday, March 22, 2007

키보드에서 사용자로부터 double형 실수 숫자 (정수도 포함)를 입력받는 법입니다. 다만, 사용자가 제대로 된 숫자가 아닌 문자열 등을 잘못 입력했을 때에는, 올바른 값을 입력할 때까지 루프를 돌리며, 계속 다시 입력받습니다.

사용자로부터 double형 숫자 입력 받는 예제


소스 파일명: Example.java
import java.util.*;

public class Example {
  public static void main(String[] args) {

    Scanner sc = new Scanner(System.in);
    System.out.print("실수를 입력하세요, 정수도 가능: ");


    // 제대로 된 숫자를 입력하지 않은 경우
    // 되풀이하여 입력받기
    while (!sc.hasNextDouble()) {
      sc.next(); // 잘못된 입력 값 버리기
      System.err.print("에러! 다시 입력바랍니다: ");
    }


    // 입력받은 숫자를 변수에 저장
    double d = sc.nextDouble();
    System.out.println("OK, 입력된 실수: " + d);


  }
}


try...catch 로는 이런 에러를 처리할 수가 없더군요.

간단한 소스에서는 그냥 nextDouble() 로 입력받지만,

위의 소스의 경우는 에러 처리 과정 때문에, hasNextDouble() 로 입력을 받고
nextDouble() 은 입력받은 값을 변수에 저장만 할 뿐, 입력을 받지는 않습니다.


컴파일 및 실행 결과 화면:
D:\Z>javac Example.java && java Example
실수를 입력하세요, 정수도 가능: tetea
에러! 다시 입력바랍니다: -+534
에러! 다시 입력바랍니다: ..
에러! 다시 입력바랍니다: .
에러! 다시 입력바랍니다: 55..55
에러! 다시 입력바랍니다: 100.00
OK, 입력된 실수: 100.0

D:\Z>


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

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


0 Comments:

Post a Comment

<< Home RSS 2.0 feed

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