[자바 무료 강의] 값을 입력 받기 - 코드라떼
Lesson List button
코스자바로 배우는 프로그래밍
hamburger button
강의값을 입력 받기최종수정일 2021-11-21
아이콘약 2분

앞으로 키보드를 이용하여 입력을 받기 위해 방법에 대해서 배우는 강의입니다.

추가 노트

1. [실습해보기]


실습도구에 해당 코드를 작성해 봅시다

Scanner 객체를 사용하기 위해서는 필수적으로 Main 클래스 위에 import java.util.Scanner; 또는 import java.util.*; 해당 구문이 작성되어 있어야 합니다.


nextLine()

입력한 값을 문자열로 반환하는 메서드입니다. 엔터를 쳤을 때 줄바꿈 문자열 단위로 반환합니다.


case 1

코드 작성

Scanner scanner = new Scanner(System.in);

String value = scanner.nextLine();

System.out.println(value);

입력

안녕!

출력

안녕!

case 2

코드 작성

Scanner scanner = new Scanner(System.in);

String value = scanner.nextLine();

System.out.println(value);

입력

30

출력

30

수를 입력 받아 문자열로도 반환 받을 수 있습니다.


nextInt()

입력한 값을 정수로 반환하는 메서드입니다.


case 1

코드 작성

Scanner scanner = new Scanner(System.in);

int value = scanner.nextInt();

System.out.println(value);

입력

35

출력

35

nextShort()

입력한 값을 정수로 반환하는 메서드입니다.


case 1

코드 작성

Scanner scanner = new Scanner(System.in);

short value = scanner.nextShort();

System.out.println(value);

입력

35

출력

35

nextByte()

입력한 값을 정수로 반환하는 메서드입니다.


case 1

코드 작성

Scanner scanner = new Scanner(System.in);

byte value = scanner.nextByte();

System.out.println(value);

입력

35

출력

35

case 2

코드 작성

Scanner scanner = new Scanner(System.in);

byte value = scanner.nextByte();

System.out.println(value);

입력

100000

출력

Exception in thread "main" java.util.InputMismatchException: Value out of range. Value:"100000" Radix:10

자료형의 범위를 넘어서는 값을 입력할 경우 예외가 발생합니다.


nextLong()

입력한 값을 정수로 반환하는 메서드입니다.


case 1

코드 작성

Scanner scanner = new Scanner(System.in);

long value = scanner.nextLong();

System.out.println(value);

입력

100000

출력

100000

nextFloat()

입력한 값을 실수로 반환하는 메서드입니다.


case 1

코드 작성

Scanner scanner = new Scanner(System.in);

float value = scanner.nextFloat();

System.out.println(value);

입력

10.2

출력

10.2

nextDouble()

입력한 값을 실수로 반환하는 메서드입니다.


case 1

코드 작성

Scanner scanner = new Scanner(System.in);

double value = scanner.nextDouble();

System.out.println(value);

입력

1234.12345

출력

1234.12345

nextBoolean()

true 또는 false를 입력하면 boolean 값으로 반환하는 메서드입니다.


case 1

코드 작성

Scanner scanner = new Scanner(System.in);

boolean value = scanner.nextBoolean();

System.out.println(value);

입력

true

출력

true

case 2

코드 작성

Scanner scanner = new Scanner(System.in);

boolean value = scanner.nextBoolean();

System.out.println(value);

입력

1

출력

Exception in thread "main" java.util.InputMismatchException

true와 false 값 이외의 입력할 경우 예외가 발생합니다.

도전자 질문
아이콘효효(2022-02-24 17:28 작성됨)
아이콘코드라떼(2022-02-26 22:36 작성됨)
아이콘BangOol(2021-10-05 10:39 작성됨)
intellij에서 복습을 해보고자 Package com.example을 지우고 import java.util.Scanner 문구를 넣었었더니 이런 문구가 뜨더라고요.


'오류: 기본 클래스 com.example.Main을(를) 찾거나 로드할 수 없습니다.'


찾아보니
1.잘못된 파일 확장자
2.잘못된 클래스 경로
3.잘못된 클래스 이름

이 3가지 경우 중 하나가 잘못된 경우 이러한 문구가 뜬다고 하는데, 아무리 봐도 잘 모르겠어요.
아이콘코드라떼(2021-10-05 14:14 작성됨)
안녕하세요. 코드라떼입니다 :)

혹시 디렉터리 구조가 어떻게 되는지 알 수 있을까요?

만약에 디렉터리 구조가 아래와 같고 src 폴더를 기준으로 프로젝트를 '열기'한 경우
에디터에서는 src를 루트 디렉터리로 인식하고 com.example을 패키지로 인식합니다.
src
 └com
   └example
      └Main.java

그러므로 Main.java 파일의 package com.example;를 지우시면 안 됩니다.
지우는 경우 Main.java 파일의 패키지 경로를 알 수 없습니다.

'다운로드' 받은 기존 프로젝트에서 하시는 경우
package com.example;를 지우지 마시고
import java.util.Scanner;만 추가하셔야 합니다.

추가로 복습을 하시려는 경우 
새로운 프로젝트를 생성하여 복습하시는 것을 권장드립니다.

ps.패키지와 관련된 내용은 해당 강의에서 확인하실 수 있습니다.
https://www.codelatte.io/courses/java_programming_basic/5BGDTMNUZIMM3LF2

감사합니다 :)
아이콘marunose(2021-07-15 16:25 작성됨)
실습도구에 있는 코드에서 println부분을 print로 바꾸어 주어서
입력하세요
25
이렇게 입력하지 않고
입력 : 25 
이렇게 문자열 바로 옆에 입력하고 싶어서 코드를 수정해보니까 실행 시간 오류가 납니다.
그래서 코드 실행 후 화면에 아무것도 출력이 안된 상태에서 입력 값을 넣어주니까 아래와 같이 실행이 되는데요
25
입력 : 이 사이트는 R이고 오늘은 25이다

Program exit 0

System.out.print("입력 : "); 코드가 String day = scanner.nextLine(); 코드 이후에 실행되는 것 같습니다.
혹시 그 이유가 무엇인지 알 수 있을 까요?
아이콘코드라떼(2021-07-15 20:00 작성됨)
안녕하세요^^

사이트내의 실습 도구에서 발생하는 문제인데, 로컬 에디터에서 실행시키면 원하신대로 정상적으로 작동합니다.

감사합니다.
이용약관|개인정보취급방침
알유티씨클래스|대표, 개인정보보호책임자 : 이병록
이메일 : cs@codelatte.io
사업자등록번호 : 824-06-01921
통신판매업신고 : 2021-성남분당C-0740
주소 : 경기도 성남시 분당구 대왕판교로645번길 12, 9층 24호
파일
파일파일
Root
파일

1. Code Run을 통해 코드를 실행해보세요. 2. root$에 입력을 하고 입력 버튼을 누르거나 엔터를 눌러보세요.

Output
root$
Lesson List button
코스자바로 배우는 프로그래밍
hamburger button
강의값을 입력 받기최종수정일 2021-11-21
아이콘약 2분

앞으로 키보드를 이용하여 입력을 받기 위해 방법에 대해서 배우는 강의입니다.

추가 노트

1. [실습해보기]


실습도구에 해당 코드를 작성해 봅시다

Scanner 객체를 사용하기 위해서는 필수적으로 Main 클래스 위에 import java.util.Scanner; 또는 import java.util.*; 해당 구문이 작성되어 있어야 합니다.


nextLine()

입력한 값을 문자열로 반환하는 메서드입니다. 엔터를 쳤을 때 줄바꿈 문자열 단위로 반환합니다.


case 1

코드 작성

Scanner scanner = new Scanner(System.in);

String value = scanner.nextLine();

System.out.println(value);

입력

안녕!

출력

안녕!

case 2

코드 작성

Scanner scanner = new Scanner(System.in);

String value = scanner.nextLine();

System.out.println(value);

입력

30

출력

30

수를 입력 받아 문자열로도 반환 받을 수 있습니다.


nextInt()

입력한 값을 정수로 반환하는 메서드입니다.


case 1

코드 작성

Scanner scanner = new Scanner(System.in);

int value = scanner.nextInt();

System.out.println(value);

입력

35

출력

35

nextShort()

입력한 값을 정수로 반환하는 메서드입니다.


case 1

코드 작성

Scanner scanner = new Scanner(System.in);

short value = scanner.nextShort();

System.out.println(value);

입력

35

출력

35

nextByte()

입력한 값을 정수로 반환하는 메서드입니다.


case 1

코드 작성

Scanner scanner = new Scanner(System.in);

byte value = scanner.nextByte();

System.out.println(value);

입력

35

출력

35

case 2

코드 작성

Scanner scanner = new Scanner(System.in);

byte value = scanner.nextByte();

System.out.println(value);

입력

100000

출력

Exception in thread "main" java.util.InputMismatchException: Value out of range. Value:"100000" Radix:10

자료형의 범위를 넘어서는 값을 입력할 경우 예외가 발생합니다.


nextLong()

입력한 값을 정수로 반환하는 메서드입니다.


case 1

코드 작성

Scanner scanner = new Scanner(System.in);

long value = scanner.nextLong();

System.out.println(value);

입력

100000

출력

100000

nextFloat()

입력한 값을 실수로 반환하는 메서드입니다.


case 1

코드 작성

Scanner scanner = new Scanner(System.in);

float value = scanner.nextFloat();

System.out.println(value);

입력

10.2

출력

10.2

nextDouble()

입력한 값을 실수로 반환하는 메서드입니다.


case 1

코드 작성

Scanner scanner = new Scanner(System.in);

double value = scanner.nextDouble();

System.out.println(value);

입력

1234.12345

출력

1234.12345

nextBoolean()

true 또는 false를 입력하면 boolean 값으로 반환하는 메서드입니다.


case 1

코드 작성

Scanner scanner = new Scanner(System.in);

boolean value = scanner.nextBoolean();

System.out.println(value);

입력

true

출력

true

case 2

코드 작성

Scanner scanner = new Scanner(System.in);

boolean value = scanner.nextBoolean();

System.out.println(value);

입력

1

출력

Exception in thread "main" java.util.InputMismatchException

true와 false 값 이외의 입력할 경우 예외가 발생합니다.

도전자 질문
아이콘효효(2022-02-24 17:28 작성됨)
아이콘코드라떼(2022-02-26 22:36 작성됨)
아이콘BangOol(2021-10-05 10:39 작성됨)
intellij에서 복습을 해보고자 Package com.example을 지우고 import java.util.Scanner 문구를 넣었었더니 이런 문구가 뜨더라고요.


'오류: 기본 클래스 com.example.Main을(를) 찾거나 로드할 수 없습니다.'


찾아보니
1.잘못된 파일 확장자
2.잘못된 클래스 경로
3.잘못된 클래스 이름

이 3가지 경우 중 하나가 잘못된 경우 이러한 문구가 뜬다고 하는데, 아무리 봐도 잘 모르겠어요.
아이콘코드라떼(2021-10-05 14:14 작성됨)
안녕하세요. 코드라떼입니다 :)

혹시 디렉터리 구조가 어떻게 되는지 알 수 있을까요?

만약에 디렉터리 구조가 아래와 같고 src 폴더를 기준으로 프로젝트를 '열기'한 경우
에디터에서는 src를 루트 디렉터리로 인식하고 com.example을 패키지로 인식합니다.
src
 └com
   └example
      └Main.java

그러므로 Main.java 파일의 package com.example;를 지우시면 안 됩니다.
지우는 경우 Main.java 파일의 패키지 경로를 알 수 없습니다.

'다운로드' 받은 기존 프로젝트에서 하시는 경우
package com.example;를 지우지 마시고
import java.util.Scanner;만 추가하셔야 합니다.

추가로 복습을 하시려는 경우 
새로운 프로젝트를 생성하여 복습하시는 것을 권장드립니다.

ps.패키지와 관련된 내용은 해당 강의에서 확인하실 수 있습니다.
https://www.codelatte.io/courses/java_programming_basic/5BGDTMNUZIMM3LF2

감사합니다 :)
아이콘marunose(2021-07-15 16:25 작성됨)
실습도구에 있는 코드에서 println부분을 print로 바꾸어 주어서
입력하세요
25
이렇게 입력하지 않고
입력 : 25 
이렇게 문자열 바로 옆에 입력하고 싶어서 코드를 수정해보니까 실행 시간 오류가 납니다.
그래서 코드 실행 후 화면에 아무것도 출력이 안된 상태에서 입력 값을 넣어주니까 아래와 같이 실행이 되는데요
25
입력 : 이 사이트는 R이고 오늘은 25이다

Program exit 0

System.out.print("입력 : "); 코드가 String day = scanner.nextLine(); 코드 이후에 실행되는 것 같습니다.
혹시 그 이유가 무엇인지 알 수 있을 까요?
아이콘코드라떼(2021-07-15 20:00 작성됨)
안녕하세요^^

사이트내의 실습 도구에서 발생하는 문제인데, 로컬 에디터에서 실행시키면 원하신대로 정상적으로 작동합니다.

감사합니다.
이용약관|개인정보취급방침
알유티씨클래스|대표, 개인정보보호책임자 : 이병록
이메일 : cs@codelatte.io|운영시간 09:00 - 18:00(평일)
사업자등록번호 : 824-06-01921|통신판매업신고 : 2021-성남분당C-0740
주소 : 경기도 성남시 분당구 대왕판교로645번길 12, 9층 24호(경기창조혁신센터)
파일
파일파일
Root
파일

1. Code Run을 통해 코드를 실행해보세요. 2. root$에 입력을 하고 입력 버튼을 누르거나 엔터를 눌러보세요.

Output
root$