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

 
Thursday, March 22, 2007

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


키보드에서 사용자로부터 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




tag: java
자바 | Java

1 Comments:
At March 27, 2020 at 10:42 PM, Blogger Unknown said...

감사합니다! 덕분에 아이디어 잘 얻어가요:)

 

Post a Comment

<< Home RSS 2.0 feed

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