Scanner 클래스 - 입력값받기

msung99·2022년 2월 11일
0

모듈 import 하기

  • Scanner 클래스를 사용하기 위해선 import 문이 필요하다.

import java.util.Scanner;

  • Scanner 클래스는 자바에서 제공되는 java.util 패키지에 있음
  • import문을 통해 Scanner의 경로명이 java.util.Scanner 임을 나타냄
  • ctrl+shift+o 로 한번에 import 가능

Scanner 클래스

  • 키 입력을 쉽게 받을 수 있도록 자바 패키지에서 제공하는 클래스

    선언 형태 : Scanner 변수 = new Scanner(System.in);

예제

String[] name = {"박찬호", "이승엽", "박병호", "이병규","류현진"};
int[] score = new int[5];
	  
// Scanner 클래스 : 입력값을 입력받을 떄 사용하는 클래스. score_list 변수는 입력받는 변수가 된다.

Scanner score_list = new Scanner(System.in);
	  
	  
System.out.printf("%s의 점수를 입력하세요:", name[0]);  
score[0] = score_list.nextInt();
	  
System.out.printf("%s의 점수를 입력하세요:",name[1]);
score[1] = score_list.nextInt();
	  
System.out.printf("%s의 점수를 입력하세요",name[2]);
score[2] = score_list.nextInt();
	  
System.out.printf("%s의 점수를 입력하세요:",name[3]);
score[3] = score_list.nextInt();
	  
System.out.printf("%s의 점수를 입력하세요:",name[4]);
score[4] = score_list.nextInt();
	  
System.out.printf("%s 점수: \t%.2f\n", name[0], (double)score[0]);
System.out.printf("%s 점수: \t%.2f\n", name[1], (double)score[1]);
System.out.printf("%s 점수: \t%.2f\n", name[2], (double)score[2]);
System.out.printf("%s 점수: \t%.2f\n", name[3], (double)score[3]);
System.out.printf("%s 점수: \t%.2f\n", name[4], (double)score[4]);
	  
double ave = (double)(score[0] + score[1] + score[2] + score[3] + score[4]) / 5;
System.out.printf("-----------------------\n평점:\t%.2f",ave);
	  
scanner.close();

Scanner 클래스의 메소드

  • scan.next() : 공백 이전까지 입력된 문자열을 읽음

  • scan.nextInt() : 공백 이전까지 입력된 정수를 읽음

  • scan.nextLine() : Enter 키 이전까지 라인 전체(공백 포함)을 읽음

  • scan.close() : Scanner 사용 종료. 객체가 닫히고 System.in 으로 더이상 키 입력을 받을 수 없음

    ** 기타 메소드 (형태만 봐도 어떻게 읽어들이는지 알거임)

  • scan.nextByte()

  • scan.nextShort()

  • scan.nextLong()

  • scan.nextFloat()

  • scan.nextDouble()

  • scan.nextBoolean()

System.out.print("정수를 입력하세요:");
int a = scan.nextInt(); // 공백전까지 정수를 읽어온다
System.out.println(a);

scan.nextline();
System.out.print("문자열을 입력하세요:");
String str2 = scan.nextLine(str2); // 주의 : next() 나 nextInt() 를 쓰고
// nextLine() 을 쓸 경우 남아있는 Enter를 처리하기 때문에 
// 남아있는 Enter 를 처리해주어야 한다
System.out.println(str2);

scan.close()

profile
블로그 이전했습니다 🙂 : https://haon.blog

0개의 댓글