본문 바로가기
Java (자바)

쉽게 따라하는 Java (자바) 독학 _ 데이터 입력 받기(Scanner), 형식화 된 출력문 (printf)

by Ecoder 2022. 11. 27.

Java (자바) 데이터 입력받기(Scanner), 형식화된 출력문 (printf)

 

1. Java 데이터 입력받기

  - 자바의 경우 Scanner 클래스를 이용

 

  - 클래스 선언 형태

     Scanner 변수명 = new Scanner(System.in);

     ** 저는 변수명을 scanner로 사용하지만 sc나 keyin을 사용하는 분들도 계십니다.

 

  - 클래스 Import

    Scanner 클래스는 다른 클래스에서 가져와서 사용하는 명령어로,

    우리가 생성한 클래스에서 사용하기 위해 Import를 해야 한다.

     (Import 방법: import java.util.Scanner; 를 작성

                           Eclipse에서는 Scanner 선언 후 Ctrl + Shift + O 입력)

 

  - 클래스 사용 형태

     int a = scanner.nextInt();

     double b = scanner.nextDouble();

     String c = scanner.next();

 

  - 클래스 사용만 한다면 키보드로 자료 입력은 가능하지만 UI(User Interface) 입장에서는 의미가 없음

    이에 자바 연습에 있어서는 클래스 사용 전에 출력문으로 어떤 자료를 요청하는지 작성하는 게 일반적

 

 

2. 형식화된 출력문 (printf)

  - 기존 사용 출력문

        1) System.out.println();

        2) System.out.print();

 

  - 형식화된 출력문: 특정 형식에 맞춰 출력

        사용 형태: System.out.printf("문자열 + format", 변수);

                         Format의 순서와 변수의 순서가 동일해야 함. 

 

  - 사용 Format

      1) %c: 문자 1개

      2) %s: 문자열

      3) %d: 정수

      4) %f 실수 (소수점 몇 번째 자리까지 표현을 지정: %.nf [n자리까지 표현, n+1자리에서 반올림])

      5) %n: 줄 바꿈

      6) %%: % 특수문자 출력

 

 

3. 테스트

Class Name: ScannerTest_01

public static void main(String[] args) 체크

 

 

 

1) Java 데이터 입력받기 Test

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
import java.util.Scanner;
 
public class ScannerTest_01 {
 
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
 
        System.out.print("정수를 입력해주세요: ");
        int a = scanner.nextInt();
 
        System.out.print("실수를 입력해주세요: ");
        double b = scanner.nextDouble();
 
        System.out.print("단어를 입력해주세요: ");
        String c = scanner.next();
 
        System.out.println(a);
        System.out.println(b);
        System.out.println(c);
 
    }
 
}
 
cs

 

코드 작성 후 저장 (ctrl + s) 

F11을 눌러 출력되는 문자열에 따라 알맞은 자료형 입력

 

 

 

출력되는 내용 확인하기

 

 

 

2) 형식회 된 출력문 (printf) Test

 

1
2
3
4
5
6
7
8
9
10
 
public class ScannerTest_01 {
 
    public static void main(String[] args) {
        System.out.printf("%s 학생의 수학 점수는 %d점 입니다.""홍길동"88);
 
    }
 
}
 
cs

코드 작성

 

 

 

저장(ctrl + s) 후 F11을 눌러 출력되는 내용 확인하기

 

 

4. 테스트해 보세요

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
import java.util.Scanner;
 
public class ScannerTest_01 {
 
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        String name;
        int kor;
        int mat;
        int eng;
        int total;
        double avg;
        
        System.out.print("이름을 입력해 주세요: ");
        name = scanner.next();
        
        System.out.print("국어 점수를 입력해주세요: ");
        kor = scanner.nextInt();
        
        System.out.print("수학 점수를 입력해주세요: ");
        mat = scanner.nextInt();
 
        System.out.print("영어 점수를 입력해주세요: ");
        eng = scanner.nextInt();
 
        total = kor + mat + eng;
        avg = total / 3.0;
        
        System.out.printf("%s 학생의 총점은 %d점 이고, 평균은 %.2f점 입니다.", name, total, avg);
    }
 
}
 
cs

 

5. 과제

BMI 공식: 몸무게(kg) / 키(m)의 제곱

이름, 키, 몸무게를 입력받아 아래 형식에 맞게 출력해보세요.

xxx(이름) 회원님의 키는 xxxcm, 몸무게는 xxxkg이며, BMI는 xxx입니다.

반응형

댓글