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

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

 
Friday, November 17, 2006

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


자바에서는 Scanner 클래스의

nextLine()
nextDouble()
nextInt()


등의 메소드(함수)를 사용하여, 키보드로부터 사용자의 입력을 문자열이나 숫자의 형식으로 받을 수 있습니다. (Scanner 는, 사진 스캔하는 "스캐너"와는 아무 상관이 없습니다.)

다음 예제에서 System.in 은 키보드 등의 입력 장치를 의미합니다.


nextLine(): 키보드로부터 직접 사용자 입력 받는 예제 소스


소스 파일명: Foo.java
※ 아래 박스 클릭 후, 키보드 화살표 키로 좌우 스크롤 가능함
import java.util.*;

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

    Scanner sc = new Scanner(System.in);


    // 키보드로부터 문자열 입력받기
    System.out.print("아무 문자열이나 입력해 보세요: ");
    System.out.println(sc.nextLine());
    // 키보드로 입력한 문자열이 그대로 출력됩니다.



    // 키보드로부터 실수형 숫자 입력받기 (정수형 입력해도 됨)
    // 숫자가 아닌 문자를 입력하면 InputMismatchException 발생
    System.out.print("아무 실수나 입력해 보세요: ");
    double d = sc.nextDouble();
    System.out.println(d + 1);
    // 키보드로 입력한 숫자(64비트 실수)에 1을 더하여 출력
    // 그런데 만약 이 부분에서 숫자를 100 200 이렇게 2개 입력하면
    // 아래의 정수 입력 예제에 200 이라는 값이 자동으로 들어가 버립니다




    // 정수 입력받기 (실수형 입력하면 에러남)
    System.out.print("아무 정수나 입력해 보세요: ");
    try { // 1.0 등의 실수를 잘못 입력한 경우 에러 처리
        System.out.println(sc.nextInt() + 1);
    } catch (InputMismatchException ime) {
        System.err.println("에러! 정수가 아닌 실수/문자를 입력하셨군요: " + ime);
        System.exit(1);
    }
    // 키보드로 입력한 정수에 1을 더하여 출력



  }
}


잘못 입력했을 때, 다시 입력 받는 법: ▶▶ Java 자바] 실수 입력 받기, 키보드로, 에러 처리 루프; Input Float Number Loop

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



그렇지만 프로그램 내부에서 데이터를 입력받는 것보다, 자바 프로그램 실행시에 명령행 옵션으로 받는 것이 더 편리합니다. 즉 args[] 배열로 데이터를 입력받는 것이 보통입니다: ▶▶ Java/자바] main()의 String args[] 배열 용도, 사용법 예제


간단히 Yes/No 만 물어볼 경우에는 다음 방법을 사용하면 됩니다: ▶▶ 자바Java] (Yes/No)? (Y/N)? (예/아니오)? 키보드로 입력 받기, 묻기




tag: java
자바 | Java

1 Comments:
At March 20, 2017 at 12:53 AM, Anonymous Anonymous said...

int i=1;
while(i==1)

/*반복 하고 싶은 프로그램 코딩 */

System.out.print("계속 1, 종료 anykey : ");
try{
i = Integer.parseInt(scan.nextLine().trim());
}catch(NumberFormatException ime){
i=0; //숫자 입력해야 하는데 문자 입력 되면 종료
//while에서 1을 조건으로 주었기에 1이 아니면 무조건 종료
}

 

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