개발자 Saaad
[JAVA] BufferedReader를 이용해 값을 입력 받는 방법 본문
1) 정수형을 enter 기준으로 입력 받을 때
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
import java.io.IOException;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
int[] nums = new int[5];
StringTokenizer st = new StringTokenizer(bf.readLine());
for(int i = 0; i < 5; i++)
nums[i] = Integer.parseInt(st.nextToken());
}
}
- 위 방법은 BufferedReader 객체 bf 를 선언하고 nums 배열을 선언해놓고 StringTokenizer를 이용해 bf.readLine()을 통해 입력받은 문자열을 엔터를 통해 구분하여 for문을 돌면서 각 num[index] 자리에 값을 할당한다.
할당할 때 주의점은 for문에서 nums 배열에 정수를 할당할 때 입력받은 문자열은 string형태이기 때문에 Integer.parseInt()를 써서 반드시 형변환을 해주어야 한다.
2) 정수형을 공백 기준으로 입력 받을 때
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
int N = Integer.parseInt(bf.readLine());
}
}
- 객체 bf를 선언하고 Int형 변수 N을 선언하고 입력받은 문자열을 정수형으로 형변환하여 바로 할당한다.
3) 여러 정수를 공백 기준으로 입력 받을 때
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String str = br.readLine();
int X = Integer.parseInt(str.split(" ")[0]);
int Y = Integer.parseInt(str.split(" ")[1]);
System.out.println(X);
System.out.println(Y);
}
}
- 입력받은 문자열을 str에 저장하고 str을 split() 을 이용해 공백을 구분하여 값을 X, Y에 할당한다.
4) 문자열을 enter 기준으로 입력 받을 때
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;
public class Num1181 {
public static void main(String[] args) throws IOException {
BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
String[] words = new String[5];
for(int i = 0; i < 5; i++)
words[i] = bf.readLine();
}
}
- 1) 과 유사한데 문자열을 enter로 나눠받는 것이기 때문에 따로 형변환은 필요없다.
https://coding-ga-ding.tistory.com/163
[Java] BufferedReader로 입력 받기
원래는 Java에서 입력을 받는 방법 중 Scanner를 이용하고 있었는데, 이 방법이 시간을 많이 잡아먹어서 TimeLimited 문제가 많이 발생했다. 그래서 이제는 시간을 단축시키기 위해 BufferedReader 방법으
coding-ga-ding.tistory.com
'학습 > kakao X goorm 풀스택12회차' 카테고리의 다른 글
[JAVA] 문자열 처리 과정에서 효율적인 방법 고찰 (0) | 2025.01.15 |
---|---|
[React] React.memo, useCallback, useMemo (0) | 2025.01.08 |
[특강] 소프트웨어 개발 방법론에 의한 이슈트래커, 협업도구, 생산성 도구(1/6 1차 강의) (0) | 2025.01.06 |
[React] Redux 상태 관리 (redux-counterApp을 통해 실습) (1) | 2024.12.16 |
[JavaScript] 디자인 패턴 정리 (2) | 2024.12.14 |