*JAVA*

[java] Scanner

깐부로부터 2021. 10. 19. 23:03

키보드로 사용자로부터 값을 입력받기위해

 

1. 자바에서 이미 제공하고 있는 java.util.Scanner라는 클래스를 import한다.

Scanner 클래스 안에 있는 메소드들을 호출해서 사용

import java.util.Scanner;

 

2. Scanner클래스의 객체를 sc라는 변수에 담아 객체 생성을 한다.

Scanner sc = new Scanner(System.in);
// System.in : 입력받은 값들을 받아들이겠다.(바이트 단위로)

 

사용자의 인적사항을 입력받아 출력해보자.

// 입력받고자 하는 내용을 먼저 질문해서 입력을 유도
System.out.print("당신의 이름은 무엇입니까? : ");

String name;
		name = sc.next(); //. => 참조연산자
//nextLine() : 사용자가 입력한 값 중 공백에 무관하게 한 문장을 다 출력 ex) 주소
//next() : 사용자가 입력한 값 중 공백이 있을경우 공백 이전까지만 입력받음 ex) 이름

System.out.println(name + "님 안녕하세요!");
		
System.out.print("당신의 나이는 몇살입니까? : ");
int age = sc.nextInt();// 정수를 입력받는다.
System.out.println("당신의 나이는" + age + "입니다.");
		
System.out.print("당신의 키는 어떻게 되세요? : ");
double height = sc.nextDouble();//실수를 입력받는다.
System.out.println("당신의 키는" + height + "입니다.");
		
sc.nextLine();// nextDouble();로 인해 버퍼링안에 남아있던 \n(Enter)를 날려버리기 위해 써줌.
							// 이작업을 해주지 않으면 '주소'값을 입력받기도전에 출력값이 나와버린다.

System.out.print("주소가 어떻게 되세요? : ");				
String address;
address = sc.nextLine();
System.out.println(address + "에 사시는군요!");

 

 

※번외 charAt();

String클래스의 메소드

System.out.print("성별을 말해주세요(단, M/F로! =>");
char gender = sc.nextLine().charAt(0); //먼저 문자열을 입력 받은 후 그 문자열의 0번째 문자를 추출
// 만약에 해당 문자열의 길이보다 더 큰 숫자를 적게되면
// StringIndexOutOfBounds 오류가 발생한다.

'*JAVA*' 카테고리의 다른 글

[java] 연산자 - 삼항연산자  (0) 2021.10.19
[java] 연산자(Operator)  (0) 2021.10.19
[java] 출력문  (0) 2021.10.19
[java] 변수 - 형변환(Type Casting)  (0) 2021.10.19
[java] 변수 - 자료형  (0) 2021.10.19