자바에서 값을 입력받는 Scanner 메소드 사용법 + next()

2023. 1. 2. 18:46·BE/Java [Servlet , Spring]

1. Scanner란

키보드로 값을 입력받기 위한 클래스이다.

-  스캐너 클래스를 사용하기 위해서는 스캐너 메소드를 호출한다.

 

[호출 방법]

1) 클래스 내에서 Scanner 변수명 = new Scanner(System.in);을 작성해 스캐너 변수를 생성한다.

2) Scanner를 클릭해 scanner(java.util)을 클릭하면 위에 import문이 자동 생성된다.

3) 자바의 java.util 패키지 안에 scanner클래스가 있어 import로 호출

import java.util.Scanner;

2. 클래스 객체 생성 

import java.util.Scanner;

public class Example03 {
	public static void execute() {
		Scanner s = new Scanner(System.in); 		
}
	}

[ Scanner 변수 = new(System.in) ]

System.in은 사용자로부터 입력을 받기 위한 입력 스트림이다.

System.out.print("시간>");
		int time = s.nextInt();
		
		if(time == 6) {
			System.out.println("기상하세요");
		}else if(time == 9) {
			System.out.println("출근 시간입니다.");
		}else if(time == 12) {
			System.out.println("점심 시간입니다.");
		}else if(time == 18) {
			System.out.println("퇴근시간입니다.");
		}else {
			System.out.println("잘못된 시간입니다.");
		}

- s.nextInt();로 정수로 이루어진 '시간'을 직접 입력받도록 한다.

- 입력한 시간에 따라 콘솔 창에 값이 다르게 도출된다.

 

3. next메소드로 입력값 받아오기

-  스캐너의 변수에 .next()나 .nextLine()을 붙이면 직접 입력한 "문자"를 받아올 수 있고

- .nextInt()를 붙이면 "정수"를, nextDouble()를 붙이면 "실수"를 받아올 수 있다.

System.out.print("이름>"); 
		String name = s.next();
		
		System.out.print("국어>");
		int kor = s.nextInt();
		
		System.out.print("영어>");
		int eng = s.nextInt();
				
		System.out.print("수학>");
		int math = s.nextInt();
		
		int sum = kor + eng + math;
		double avg = sum/3.;
		
        System.out.printf("이름은 %s입니다",name);
		System.out.printf( "%s의 평균점수는 %f입니다",name, avg);

이름을 입력받아 name에 저장 -> 문자열이라 next()

국어점수는 kor에 영어점수는 eng에 수학점수는 math에 저장한다. -> 정수라서 nextInt()

 

next()와 nextLine() 메소드 차이

next() : 콘솔 창에서 공백까지 입력한 값을 받아옴 (띄어쓰기 하고 적은 값은 받지 않는다)
nextLine() : 콘솔 창에서 엔터 누르기 전까지 입력된 값을 받아옴 (공백을 모두 포함하여 데이터를 받아온다)

※ next또는 nextInt를 위에서 작성한 뒤 아래에서 nextLine을 작성하면 앞에 작성된 next의 엔터값을 모두 받아와 버리기 때문에 작성한 next 또는 nextInt 뒤에 nextLine을 붙여준다. (엔터값 소멸시키기 위함)

예) int menu = s.nextInt(); s.nextLine();

 

'BE > Java [Servlet , Spring]' 카테고리의 다른 글

Java 성적 입력 프로그램 리뷰 (참조 변수, 문자열 비교 equals)  (0) 2023.01.08
자바 배열(array) -배열 구조 및 합계 구하기  (0) 2023.01.06
자바 조건문- if문, switch~case문  (0) 2023.01.03
자바 출력문(print , printf, printInt)함수 및 지시자 %n %s %d..  (1) 2023.01.02
자바 컴파일러(eclipse) 설치 및 변수 선언 및 타입, 연산자  (0) 2023.01.02
'BE/Java [Servlet , Spring]' 카테고리의 다른 글
  • 자바 배열(array) -배열 구조 및 합계 구하기
  • 자바 조건문- if문, switch~case문
  • 자바 출력문(print , printf, printInt)함수 및 지시자 %n %s %d..
  • 자바 컴파일러(eclipse) 설치 및 변수 선언 및 타입, 연산자
시녜's
시녜's
성장중인 새싹 개발자 🌱
  • 시녜's
    개발기록
    시녜's
  • 전체
    오늘
    어제
    • 분류 전체보기
      • FE
        • React
        • javascript(jQuery)
        • HTML & CSS
      • BE
        • Java [Servlet , Spring]
        • C & C++
        • Node.js
        • node.js
        • SQL (Oracle, mysql)
      • CS
        • 프로그래밍 이론(정보처리기사)
      • Etc
        • 코딩 챌린지
        • 개발 성장 일지
        • 코딩테스트
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    자바조건문
    백준문제풀이
    CharAt함수
    백준
    제이쿼리
    React
    코딩테스트
    mysql
    백준코딩테스트
    코딩기초
    jquery
    자바기초
    코딩테스트입문
    코딩입문
    백준단계별문제
    자바배열
    자바스크립트
    코테
    스프링
    jsp
    자바반복문
    Java
    javascript
    리액트
    프로그래밍
    자바문자열
    html
    코테기초
    백준브론즈
    자바
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
시녜's
자바에서 값을 입력받는 Scanner 메소드 사용법 + next()
상단으로

티스토리툴바