Coding(Java)/Java(이론)2021. 8. 18. 20:00
반응형

[Java] 4. 자료의 입출력

 

 

키보드 값을 읽어오는 객체는 Scanner이다. 읽은 내용을 문자, 정수, 실수, 논리형, 문자열 등의 형태로 출력한다. 

사용법은 코드 입력창에

Scanner scan(다른 이름으로 대체가능)=new Scanner(System.in);

이라고 입력한다. 

여기서 System.out은 표준 출력객체, System.in은 표준 입력객체이다. 

 

Scanner를 사용하려면 코드 입력창에 scanner이라고 입력한 다음 Ctrl키와 Space키를 동시에 누른다.

그러면 다음과 같이 창이 뜰 것이고

세 번째 줄에 java.util이라고 적힌 Scanner를 선택한다. 

다음으로 Space키를 눌러 띄어쓰기한 후 scan=new Scanner(System.in);을 입력한다.

 

그 다음에는 변수를 정의하고나서 입력받기 부분을 작성한다. 

다음은 변수에 따른 입력받기의 형식이다.

Scanner 사용 시 

논리형의 입출력: scan.Boolean();
정수형의 입출력: scan.nextInt();
실수형의 입출력: scan.nextDouble();
문자열의 입출력: scan.nextLine(); 또는 scan.next();

next();와 nextLine();의 차이점:
nextLine();은 엔터치기 전까지 쓴 문자열을 모두 출력함
next();은 스페이스(공백)치기 전 까지 쓴 문자열을 모두 출력함(공백 이후의 문자들은 출력되지 않음)

 

이 내용(입력출력)과 관련된 프로그램을 만들었고, 그 코드는 다음과 같다.

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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
package mymain;
 
import java.util.Scanner;
 
public class WhoAmI {
 
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Scanner scan=new Scanner(System.in);
        
        //변수
        String name;
        int age;
        String addr;
        boolean bMarried;
        double height;
        String profile;
        
        System.out.println("Who Am I?");
        System.out.println("나는 누구인가?");
        System.out.println("===================================");
        
        //문자열 입력받기
        System.out.print("이름(name): ");
        name=scan.next();
        
        //정수 입력받기
        System.out.print("나이(age): ");
        age=scan.nextInt();//입력 후 키보드 버퍼에 엔터 남김
        
        //주소(문자열) 입력받기
        System.out.print("주소(address): ");
        
        //키보드 버퍼에서 엔터값 가져오기(전달하지 않음)
        scan.nextLine();
        
        addr=scan.nextLine();
        
        //결혼여부 입력받기
        System.out.print("결혼유무(married): ");
        bMarried=scan.nextBoolean();
        
        //키 입력받기
        System.out.print("키(height): ");
        height=scan.nextDouble();
        
        //자기소개
        System.out.print("자기소개(self introduce): ");
        //입력받기 전에 엔터 입력
        scan.nextLine();
        profile=scan.nextLine();
        
        //입력된 결과 출력
        System.out.printf("[%s]님이 입력되었습니다.\n", name);
        System.out.printf("나이: %d(살)\n", age);
        System.out.printf("주소: %s\n", addr);
        System.out.printf("결혼: %b\n", bMarried);
        System.out.printf("키: %.1f(cm)\n", height);
        System.out.printf("자기소개 : %s\n", profile);
 
    }
 
}
 
cs

위 프로그램을 실행(입력)시킨 결과(출력)는 다음과 같다.

*위의 실행에서 이름을 후아미로 한 이유는 이 프로그램을 작성하던 중 갑자기 '??의 CIA'라는 영화가 떠올랐다. 그래서 이렇게 작성했다.

 

여기서 주의할 점은 결혼유무 입력하는 부분은 논리형이므로 반드시 true 또는 false로만 답을 해야 한다.

그렇지 않다면 다음과 같은 에러가 뜬다.

반응형
Posted by skywalker222