java

[자바] 입력받기

하루이2222 2024. 7. 9. 00:04

scanner

import java.util.Scanner; //Scanner 클래스를 사용하기 위해 추가

Scanner scanner = new Scanner(System.in); // 스캐너 클래스 객체 생성

String input = scanner.nextLine();//입력받는 내용을 input에 저장
int num - Integer.parseInt(input);//입력내용을 정수로 변환

int num = scanner.nextInt();// 이거 쓰면 변환 안해두됨 자동으로 변환

BufferedReader

import java.io.BufferedReader;//BufferedReader 를사용하기위해 불러옴
import java.io.IOException;// 예외 처리를 위해 불러옴
import java.io.InputStreamReader; //system.in에서 들어오값을 읽기 위해 불러옴

BufferedReader br = new BufferedReader(new InputStreamReader(System.in));//system.in으로 들어오는값을 읽어서 BufferedReader로 래핑
int n = Integer.parseInt(br.readLine());//문자열을 정수로 변환

scanner도 있지만 BufferedReader를 쓰는 이유는 텍스트 라인 단위로 값을 입력받기 위함.

public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        int n = Integer.parseInt(br.readLine());

        Set<String> wordSet = new HashSet<>();
        List<String> words = new ArrayList<>();

        for (int i = 0; i < n; i++) {
            String word = br.readLine();
            wordSet.add(word);
        }

또한 IOException 으로 예외가 발생하면 main에서 IOException 을 던져 예외 처리가 가능하다.

그러나 이러한 방식보다 try-catch 문을 사용해서 예외 처리를 하는것이 예외가 발생했을 때 프로그램이 예측 가능하게 동작하고 오류 메시지를 사용자에게 전달할 수 있다고 한다.

'java' 카테고리의 다른 글

[자바] equals overriding 과 hash code  (0) 2024.08.11
자바의 static 과 final  (0) 2024.07.28
자바의 메모리 구조 와 할당  (0) 2024.07.28
객체 지향 언어  (0) 2024.07.09
자바의 기본개념  (0) 2024.07.08