์๊ณ ๋ฆฌ์ฆ ๋ฌธ์ ๋ฅผ ์ฐ์ตํ ๋๋ง๋ค ์์ฃผ ๋ณด์ด๋ ๋ฌธ๋ฒ๋ค์ด ์๋ค.
๋ฐ๋ก ์ ๋ ฅ์ ๋ฐ๊ธฐ ์ํด ์ฌ์ฉ๋๋ Scanner์ BufferReader์ด๋ค.
์ด๋ฒ์ swea์์ ๋ฌธ์ ๋ฅผ ํ๋ฉด์ Scanner๋ฅผ ์ด์ฉํด ๋ฌธ์ ๋ฅผ ํ์ด๋ณด์๋๋ฐ, ๋ค๋ฅธ ๋ถ๋ค์ ํ์ด์ ๋ฉ๋ชจ๋ฆฌ๋ ์๊ฐ์ด ์ ์ด์ ํ์ธํด๋ณด์๋๋ ๋๋ถ๋ถ BufferReader๋ฅผ ์ฌ์ฉํ์ จ๋ค.
๊ทธ๋์ ์์๋ณด๋ BufferReader๊ฐ ์๊ฐ์ ์ธก๋ฉด์์ ํจ์จ์ ์ธ ๊ฒ ๊ฐ์๋ค. ์๋ฐ ๋ฐฐ์ฐ๊ธฐ ์์ํ์ง๋ 1๋ ์ ๋ ๋ ๊ฒ ๊ฐ์๋ฐ ์์ง ์๊ณ ๋ฆฌ์ฆ ์ฐ์ต์ ์ํ๋ค๋ณด๋ ์ด๋ฐ ๊ธฐ๋ณธ์ ์ธ ๊ฒ๋ ์ง์์ด ๋ถ์กฑํ ๊ฒ ๊ฐ์ ๋ถ๋๋ฝ์ง๋ง ์ง๊ธ๋ถํฐ ๊ณต๋ถํด๋ณด๋ ค๊ณ ํ๋ค.
๋จผ์ ์๋ ํ๋ฅผ ๋ณด์๋ฉด, Java์ Scanner์ BufferReader๋ฅผ ๋ณผ ๋ ํ๊ท ์๋๊ฐ ๋ง์ด ์ฐจ์ด๊ฐ ๋๋ค.

์ด๋ฌํ ์๋์ ์ฐจ์ด๊ฐ ๋๋ ์ด์ ์ ๋ํด ๋๊ฐ์ง๋ฅผ ๋น๊ตํด๋ณด๋ฉด์ ์์๋ณด๊ณ ์ ํ๋ค.
Scanner
Java์์ ์ฌ์ฉ์๋ก๋ถํฐ ์ ๋ ฅ์ ๋ฐ์ ๋ ์ฌ์ฉ๋๋ ํด๋์ค๋ก,์ ๋ ฅ๋ฐ์ ๋ฐ์ดํฐ๋ฅผ ๋ค์ํ ํ์ ์ผ๋ก ๋ณํํ์ฌ ์ฒ๋ฆฌํ ์ ์๋ค. import java.util.Scanner;๋ฅผ ์ฌ์ฉํด ์ํฌํธ ํด์ค๋ค.
Scanner ์ฌ์ฉ๋ฒ
import java.util.Scanner;
public class Input {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String input = sc.nextLine();
}
}
Scanner๋ฅผ ์ฌ์ฉํ๊ธฐ ์ํด์๋ Scanner(System.in)๊ณผ ๊ฐ์ด ์ธ์คํด์ค๋ฅผ ์์ฑํ๊ณ , nextLine()๋ฉ์๋๋ฅผ ํตํด ์ ๋ ฅ ๋ฐ์ดํฐ ์ค ํ ์ค์ ์ฝ์ด์จ๋ค.
์ด๋ฌํ Scanner๋ฅผ ์ฌ์ฉํ ์ ์๋ ๋ฉ์๋๋ ๋ค์๊ณผ ๊ฐ๋ค.
next()
: ๋ค์ ๊ณต๋ฐฑ์ด๋ ๊ฐํ ๋ฌธ์๊น์ง์ ๋ฌธ์์ด์ ์ฝ์ด์จ๋ค. ์ฆ, ์ฒซ ๋ฒ์งธ ๋จ์ด๋ฅผ ์ฝ์ด์จ๋ค.
Scanner scanner = new Scanner(System.in);
System.out.print("์ด๋ฆ์ ์
๋ ฅํ์ธ์: ");
String name = scanner.next();
System.out.println("์
๋ ฅํ ์ด๋ฆ: " + name);
next()๋ฅผ ์ฌ์ฉํ๋ฉด, ๋ค์์ผ๋ก ์ฝ์ด์ค๋ ๋จ์ด์ ํ์์ ์ ํํ ์ง์ ํ์ง ์์๋ ์ฒซ๋ฒ์งธ ๋จ์ด๋ฅผ ์ฝ์ด์ฌ ์ ์๋ค.
nextInt(), nextDouble(), nextFloat()
: ๊ฐ๊ฐ ์ ์, double, float ํ์์ ์ซ์๋ฅผ ์ฝ์ด์จ๋ค.
Scanner scanner = new Scanner(System.in);
System.out.print("์ ์๋ฅผ ์
๋ ฅํ์ธ์: ");
int num = scanner.nextInt();
System.out.println("์
๋ ฅํ ์ ์: " + num);
BufferReader์ ๊ฒฝ์ฐ๋ ๋ฌธ์์ด ํํ๋ก ์ ๋ ฅ์ ๋ฐ๊ธฐ ๋๋ฌธ์ ์ํ๋ ํ์์ผ๋ก ๋ณํํด์ฃผ์ด์ผ ํ๋ ๋ฐ๋ฉด, next---()๋ฅผ ์ฌ์ฉํ๋ฉด ์ฝ๊ฒ ์ํ๋ ํ์์ ๋ฐ์ดํฐ๋ฅผ ์ ๋ ฅ๋ฐ์ ์ ์๋ค.
nextLine()
: ๊ฐํ ๋ฌธ์ ์ ๊น์ง์ ๋ชจ๋ ๋ฌธ์์ด, ์ฆ ํ ๋ผ์ธ ์ ์ฒด๋ฅผ ์ฝ์ด์จ๋ค.
Scanner scanner = new Scanner(System.in);
System.out.print("์ฌ๋ฌ ์ค์ ํ
์คํธ๋ฅผ ์
๋ ฅํ์ธ์: ");
String multilineText = scanner.nextLine();
System.out.println("์
๋ ฅํ ํ
์คํธ: " + multilineText);
๋จ์ด๊ฐ ์๋, ๋ฌธ์์ด ํ ์ค์์ฝ์ด์ค๋ ๋ฉ์๋์ด๋ค.
hasNext(), hasNextInt()
: ์ ๋ ฅ ๋ฐ์ดํฐ์ ๋ค์ ๊ฐ์ด ์๋์ง ์ฌ๋ถ๋ฅผ ํ์ธํ๋ ๋ฉ์๋๋ค.
Scanner scanner = new Scanner(System.in);
System.out.print("์ ์๊ฐ ์๋์ง ํ์ธ: ");
boolean hasNextInt = scanner.hasNextInt();
if (hasNextInt) {
int num = scanner.nextInt();
System.out.println("์
๋ ฅํ ์ ์: " + num);
} else {
System.out.println("์ ์๊ฐ ์๋๋๋ค.");
}
์์ ๋ฉ์๋์์ ์ ์ ์๋ฏ์ด scanner์ ๊ฒฝ์ฐ ๋น๊ต์ ์ฝ๊ณ ๊ฐํธํ๊ฒ ์ฌ์ฉ ๊ฐ๋ฅํ๋ค๋ ์ฅ์ ์ด ์๋ค. ํ์ง๋ง, ๊ทธ๋งํผ ๋ฉ๋ชจ๋ฆฌ๊ฐ ํฌ๊ณ ๋ง์ ๋ฐ์ดํฐ๋ฅผ ์ ๋ ฅ๋ฐ์ ๋ ๋นํจ์จ์ ์ด๋ผ๋ ๊ฒ์ ์์์ ์ ์ ์๋ค.
๊ทธ๋ ๋ค๋ฉด ์ด๋ฌํ scanner์ ๋จ์ ์ ๋ณด์์์ผ์ค ์ ์๋ BufferReader์ ๋ํด ์์๋ณด๋๋ก ํ์.
BufferReader
Java์์ ์ ๋ ฅ ์คํธ๋ฆผ์ผ๋ก๋ถํฐ ๋ฐ์ดํฐ๋ฅผ ํจ์จ์ ์ผ๋ก ์ฝ๊ธฐ ์ํ ํด๋์ค๋ค. Scanner์ ๋ง์ฐฌ๊ฐ์ง๋ก ์ฌ์ฉ์๋ก๋ถํฐ์ ์ ๋ ฅ์ ์ฒ๋ฆฌํ๊ฑฐ๋ ํ์ผ์์ ๋ฐ์ดํฐ๋ฅผ ์ฝ์ ๋ ์ ์ฉํ๊ฒ ์ฌ์ฉ๋๋ค. java.io ํจํค์ง์ ์ํด ์์ผ๋ฉฐ, InputStreamReader๋ก๋ถํฐ ์์ฑ๋๊ธฐ ๋๋ฌธ์ ์ด์ ๊ด๋ จ๋ import๊ฐ ํ์ํ๋ค.
BufferReader ์ฌ์ฉ๋ฒ
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
System.out.print("ํ ์ค์ ์
๋ ฅํ์ธ์: ");
String inputLine = reader.readLine();
System.out.println("์
๋ ฅํ ๋ผ์ธ: " + inputLine);
// BufferedReader๋ฅผ ๋ซ์ง ์์๋ ๋๋ ๊ฒฝ์ฐ์๋ ์๋ต ๊ฐ๋ฅ
}
}
๋จผ์ , InpurtStreamReader๋ฅผ์ฌ์ฉํด ์ธ์คํด์ค๋ฅผ ์์ฑํด์ค๋ค. ๊ทธ ํ readLine ๋ฉ์๋๋ฅผ ์ฌ์ฉํด ๋ฌธ์์ด์ ์ฝ์ด์จ๋ค. ์ด์ ๊ด๋ จ๋ bufferReader์ ๋ฉ์๋์ ๋ํด ๋ ์์๋ณด์.
read()
: ํ ๋ฌธ์์ฉ ์ฝ์ด๋ค์ด๊ณ , ๋ ์ด์ ์ฝ์ ๋ฌธ์๊ฐ ์์ผ๋ฉด -1์ ๋ฐํํ๋ค.
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
System.out.print("ํ ๋ฌธ์๋ฅผ ์
๋ ฅํ์ธ์: ");
int charCode = reader.read();
char inputChar = (char) charCode;
System.out.println("์
๋ ฅํ ๋ฌธ์: " + inputChar);
readLine()
: ๊ฐํ ๋ฌธ์๊น์ง์ ๋ชจ๋ ๋ฌธ์์ด์ ๋ฐํํ๋ค.
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
System.out.print("ํ ์ค์ ์
๋ ฅํ์ธ์: ");
String inputLine = reader.readLine();
System.out.println("์
๋ ฅํ ๋ผ์ธ: " + inputLine);
ready()
: ์ ๋ ฅ ์คํธ๋ฆผ์์ ์ฝ์ ๋ฐ์ดํฐ๊ฐ ์๋์ง ์ฌ๋ถ๋ฅผ ํ์ธํ๋ค.
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
if (reader.ready()) {
System.out.println("๋ฐ์ดํฐ๋ฅผ ์ฝ์ ์ ์์ต๋๋ค.");
} else {
System.out.println("๋ฐ์ดํฐ๊ฐ ์์ง ์์ต๋๋ค.");
}
close()
: ์์์ ํด์ ํ๊ธฐ ์ํด ์ฌ์ฉํ๋ฉฐ, BufferedReader๋ฅผ ๋ซ๋๋ค.
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
// ์์
์ํ
reader.close();
BufferReader์ ํจ๊ป ์ฌ์ฉํ๋ ๋ฉ์๋
Split, StringTokenizer
- split์ ๊ฒฝ์ฐ ์ ๊ท์์ ๊ธฐ๋ฐ์ผ๋ก ๋ฌธ์์ด์ ์๋ฅด๋ ๋ฐ๋ฉด StringTokenizer์ nextToken()๋ฉ์๋๋ ๋จ์ํ ๊ณต๋ฐฑ ์๋ฆฌ๋ฅผ ๋ก๊ฒจ ์ฑ์ฐ๋ ๊ฒ์ด๋ค.
- ์ ๊ท์์ด๋ ์ธ๋ฑ์ค ์ ๊ทผ ๊ฐ์ ์ฒ๋ฆฌ๊ฐ ํ์์๋ค๋ฉด StringTokenizer๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ด ํจ์จ์ ์ด๋ค.
์ด์ ๊ด๋ จํด ๋๊ฐ์ง ๋ฉ์๋์ ์ฌ์ฉ๋ฒ์ ๋ํด ๊ฐ๋จํ ์์๋ณด์.
Split : ๊ณต๋ฐฑ ๋ฌธ์ ๊ธฐ์ค์ผ๋ก ๋ฌธ์์ด ์๋ฅด๊ธฐ
BufferedReader br = new BufferedReader(new InputStreamReader(System.in);
String[] str = br.readLine().split(" ");
int n1 = Integer.parseInt(str[0]); // ๋ฌธ์์ด -> ์ ์ ๋ณํ
int n2 = Integer.parseInt(str[1]);
StringTokenizer : ๊ณต๋ฐฑ ๋ฌธ์ ๊ธฐ์ค์ผ๋ก ๋ฌธ์์ด ์๋ฅด๊ธฐ
BufferedReader br = new BufferedReader(new InputStreamReader(System.in);
StringTokenizer st = new StringTokenizer(br.readLine());
String str = st.nextToken(); // ๋ค์ ํ ํฐ(๋ฌธ์์ด) ๋ฐ๊ธฐ
int n = Integer.parseInt(st.nextToken()); // ๋ค์ ๋ฌธ์์ด ๋ฐ๊ณ ์ ์๋ก ๋ณํ
'๐ต java' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[JAVA] Stack์ด๋ ? (์ฌ์ฉ๋ฒ, ๊ด๋ จ ๋ฌธ์ ํ์ด) (2) | 2024.01.24 |
---|---|
JAVA | ํ์ ๊ณ์ฐ๊ธฐ ์ค์ต - (2) (0) | 2023.09.06 |
JAVA | ํ์ ๊ณ์ฐ๊ธฐ ์ค์ต - (1) (0) | 2023.09.04 |
JAVA | ์ฌ์น ์ฐ์ฐ ๊ณ์ฐ๊ธฐ ์ค์ต - (2) (0) | 2023.08.19 |
JAVA | ์ฌ์น ์ฐ์ฐ ๊ณ์ฐ๊ธฐ ์ค์ต - (1) (0) | 2023.08.15 |
์๊ณ ๋ฆฌ์ฆ ๋ฌธ์ ๋ฅผ ์ฐ์ตํ ๋๋ง๋ค ์์ฃผ ๋ณด์ด๋ ๋ฌธ๋ฒ๋ค์ด ์๋ค.
๋ฐ๋ก ์ ๋ ฅ์ ๋ฐ๊ธฐ ์ํด ์ฌ์ฉ๋๋ Scanner์ BufferReader์ด๋ค.
์ด๋ฒ์ swea์์ ๋ฌธ์ ๋ฅผ ํ๋ฉด์ Scanner๋ฅผ ์ด์ฉํด ๋ฌธ์ ๋ฅผ ํ์ด๋ณด์๋๋ฐ, ๋ค๋ฅธ ๋ถ๋ค์ ํ์ด์ ๋ฉ๋ชจ๋ฆฌ๋ ์๊ฐ์ด ์ ์ด์ ํ์ธํด๋ณด์๋๋ ๋๋ถ๋ถ BufferReader๋ฅผ ์ฌ์ฉํ์ จ๋ค.
๊ทธ๋์ ์์๋ณด๋ BufferReader๊ฐ ์๊ฐ์ ์ธก๋ฉด์์ ํจ์จ์ ์ธ ๊ฒ ๊ฐ์๋ค. ์๋ฐ ๋ฐฐ์ฐ๊ธฐ ์์ํ์ง๋ 1๋ ์ ๋ ๋ ๊ฒ ๊ฐ์๋ฐ ์์ง ์๊ณ ๋ฆฌ์ฆ ์ฐ์ต์ ์ํ๋ค๋ณด๋ ์ด๋ฐ ๊ธฐ๋ณธ์ ์ธ ๊ฒ๋ ์ง์์ด ๋ถ์กฑํ ๊ฒ ๊ฐ์ ๋ถ๋๋ฝ์ง๋ง ์ง๊ธ๋ถํฐ ๊ณต๋ถํด๋ณด๋ ค๊ณ ํ๋ค.
๋จผ์ ์๋ ํ๋ฅผ ๋ณด์๋ฉด, Java์ Scanner์ BufferReader๋ฅผ ๋ณผ ๋ ํ๊ท ์๋๊ฐ ๋ง์ด ์ฐจ์ด๊ฐ ๋๋ค.

์ด๋ฌํ ์๋์ ์ฐจ์ด๊ฐ ๋๋ ์ด์ ์ ๋ํด ๋๊ฐ์ง๋ฅผ ๋น๊ตํด๋ณด๋ฉด์ ์์๋ณด๊ณ ์ ํ๋ค.
Scanner
Java์์ ์ฌ์ฉ์๋ก๋ถํฐ ์ ๋ ฅ์ ๋ฐ์ ๋ ์ฌ์ฉ๋๋ ํด๋์ค๋ก,์ ๋ ฅ๋ฐ์ ๋ฐ์ดํฐ๋ฅผ ๋ค์ํ ํ์ ์ผ๋ก ๋ณํํ์ฌ ์ฒ๋ฆฌํ ์ ์๋ค. import java.util.Scanner;๋ฅผ ์ฌ์ฉํด ์ํฌํธ ํด์ค๋ค.
Scanner ์ฌ์ฉ๋ฒ
import java.util.Scanner;
public class Input {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String input = sc.nextLine();
}
}
Scanner๋ฅผ ์ฌ์ฉํ๊ธฐ ์ํด์๋ Scanner(System.in)๊ณผ ๊ฐ์ด ์ธ์คํด์ค๋ฅผ ์์ฑํ๊ณ , nextLine()๋ฉ์๋๋ฅผ ํตํด ์ ๋ ฅ ๋ฐ์ดํฐ ์ค ํ ์ค์ ์ฝ์ด์จ๋ค.
์ด๋ฌํ Scanner๋ฅผ ์ฌ์ฉํ ์ ์๋ ๋ฉ์๋๋ ๋ค์๊ณผ ๊ฐ๋ค.
next()
: ๋ค์ ๊ณต๋ฐฑ์ด๋ ๊ฐํ ๋ฌธ์๊น์ง์ ๋ฌธ์์ด์ ์ฝ์ด์จ๋ค. ์ฆ, ์ฒซ ๋ฒ์งธ ๋จ์ด๋ฅผ ์ฝ์ด์จ๋ค.
Scanner scanner = new Scanner(System.in);
System.out.print("์ด๋ฆ์ ์
๋ ฅํ์ธ์: ");
String name = scanner.next();
System.out.println("์
๋ ฅํ ์ด๋ฆ: " + name);
next()๋ฅผ ์ฌ์ฉํ๋ฉด, ๋ค์์ผ๋ก ์ฝ์ด์ค๋ ๋จ์ด์ ํ์์ ์ ํํ ์ง์ ํ์ง ์์๋ ์ฒซ๋ฒ์งธ ๋จ์ด๋ฅผ ์ฝ์ด์ฌ ์ ์๋ค.
nextInt(), nextDouble(), nextFloat()
: ๊ฐ๊ฐ ์ ์, double, float ํ์์ ์ซ์๋ฅผ ์ฝ์ด์จ๋ค.
Scanner scanner = new Scanner(System.in);
System.out.print("์ ์๋ฅผ ์
๋ ฅํ์ธ์: ");
int num = scanner.nextInt();
System.out.println("์
๋ ฅํ ์ ์: " + num);
BufferReader์ ๊ฒฝ์ฐ๋ ๋ฌธ์์ด ํํ๋ก ์ ๋ ฅ์ ๋ฐ๊ธฐ ๋๋ฌธ์ ์ํ๋ ํ์์ผ๋ก ๋ณํํด์ฃผ์ด์ผ ํ๋ ๋ฐ๋ฉด, next---()๋ฅผ ์ฌ์ฉํ๋ฉด ์ฝ๊ฒ ์ํ๋ ํ์์ ๋ฐ์ดํฐ๋ฅผ ์ ๋ ฅ๋ฐ์ ์ ์๋ค.
nextLine()
: ๊ฐํ ๋ฌธ์ ์ ๊น์ง์ ๋ชจ๋ ๋ฌธ์์ด, ์ฆ ํ ๋ผ์ธ ์ ์ฒด๋ฅผ ์ฝ์ด์จ๋ค.
Scanner scanner = new Scanner(System.in);
System.out.print("์ฌ๋ฌ ์ค์ ํ
์คํธ๋ฅผ ์
๋ ฅํ์ธ์: ");
String multilineText = scanner.nextLine();
System.out.println("์
๋ ฅํ ํ
์คํธ: " + multilineText);
๋จ์ด๊ฐ ์๋, ๋ฌธ์์ด ํ ์ค์์ฝ์ด์ค๋ ๋ฉ์๋์ด๋ค.
hasNext(), hasNextInt()
: ์ ๋ ฅ ๋ฐ์ดํฐ์ ๋ค์ ๊ฐ์ด ์๋์ง ์ฌ๋ถ๋ฅผ ํ์ธํ๋ ๋ฉ์๋๋ค.
Scanner scanner = new Scanner(System.in);
System.out.print("์ ์๊ฐ ์๋์ง ํ์ธ: ");
boolean hasNextInt = scanner.hasNextInt();
if (hasNextInt) {
int num = scanner.nextInt();
System.out.println("์
๋ ฅํ ์ ์: " + num);
} else {
System.out.println("์ ์๊ฐ ์๋๋๋ค.");
}
์์ ๋ฉ์๋์์ ์ ์ ์๋ฏ์ด scanner์ ๊ฒฝ์ฐ ๋น๊ต์ ์ฝ๊ณ ๊ฐํธํ๊ฒ ์ฌ์ฉ ๊ฐ๋ฅํ๋ค๋ ์ฅ์ ์ด ์๋ค. ํ์ง๋ง, ๊ทธ๋งํผ ๋ฉ๋ชจ๋ฆฌ๊ฐ ํฌ๊ณ ๋ง์ ๋ฐ์ดํฐ๋ฅผ ์ ๋ ฅ๋ฐ์ ๋ ๋นํจ์จ์ ์ด๋ผ๋ ๊ฒ์ ์์์ ์ ์ ์๋ค.
๊ทธ๋ ๋ค๋ฉด ์ด๋ฌํ scanner์ ๋จ์ ์ ๋ณด์์์ผ์ค ์ ์๋ BufferReader์ ๋ํด ์์๋ณด๋๋ก ํ์.
BufferReader
Java์์ ์ ๋ ฅ ์คํธ๋ฆผ์ผ๋ก๋ถํฐ ๋ฐ์ดํฐ๋ฅผ ํจ์จ์ ์ผ๋ก ์ฝ๊ธฐ ์ํ ํด๋์ค๋ค. Scanner์ ๋ง์ฐฌ๊ฐ์ง๋ก ์ฌ์ฉ์๋ก๋ถํฐ์ ์ ๋ ฅ์ ์ฒ๋ฆฌํ๊ฑฐ๋ ํ์ผ์์ ๋ฐ์ดํฐ๋ฅผ ์ฝ์ ๋ ์ ์ฉํ๊ฒ ์ฌ์ฉ๋๋ค. java.io ํจํค์ง์ ์ํด ์์ผ๋ฉฐ, InputStreamReader๋ก๋ถํฐ ์์ฑ๋๊ธฐ ๋๋ฌธ์ ์ด์ ๊ด๋ จ๋ import๊ฐ ํ์ํ๋ค.
BufferReader ์ฌ์ฉ๋ฒ
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
System.out.print("ํ ์ค์ ์
๋ ฅํ์ธ์: ");
String inputLine = reader.readLine();
System.out.println("์
๋ ฅํ ๋ผ์ธ: " + inputLine);
// BufferedReader๋ฅผ ๋ซ์ง ์์๋ ๋๋ ๊ฒฝ์ฐ์๋ ์๋ต ๊ฐ๋ฅ
}
}
๋จผ์ , InpurtStreamReader๋ฅผ์ฌ์ฉํด ์ธ์คํด์ค๋ฅผ ์์ฑํด์ค๋ค. ๊ทธ ํ readLine ๋ฉ์๋๋ฅผ ์ฌ์ฉํด ๋ฌธ์์ด์ ์ฝ์ด์จ๋ค. ์ด์ ๊ด๋ จ๋ bufferReader์ ๋ฉ์๋์ ๋ํด ๋ ์์๋ณด์.
read()
: ํ ๋ฌธ์์ฉ ์ฝ์ด๋ค์ด๊ณ , ๋ ์ด์ ์ฝ์ ๋ฌธ์๊ฐ ์์ผ๋ฉด -1์ ๋ฐํํ๋ค.
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
System.out.print("ํ ๋ฌธ์๋ฅผ ์
๋ ฅํ์ธ์: ");
int charCode = reader.read();
char inputChar = (char) charCode;
System.out.println("์
๋ ฅํ ๋ฌธ์: " + inputChar);
readLine()
: ๊ฐํ ๋ฌธ์๊น์ง์ ๋ชจ๋ ๋ฌธ์์ด์ ๋ฐํํ๋ค.
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
System.out.print("ํ ์ค์ ์
๋ ฅํ์ธ์: ");
String inputLine = reader.readLine();
System.out.println("์
๋ ฅํ ๋ผ์ธ: " + inputLine);
ready()
: ์ ๋ ฅ ์คํธ๋ฆผ์์ ์ฝ์ ๋ฐ์ดํฐ๊ฐ ์๋์ง ์ฌ๋ถ๋ฅผ ํ์ธํ๋ค.
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
if (reader.ready()) {
System.out.println("๋ฐ์ดํฐ๋ฅผ ์ฝ์ ์ ์์ต๋๋ค.");
} else {
System.out.println("๋ฐ์ดํฐ๊ฐ ์์ง ์์ต๋๋ค.");
}
close()
: ์์์ ํด์ ํ๊ธฐ ์ํด ์ฌ์ฉํ๋ฉฐ, BufferedReader๋ฅผ ๋ซ๋๋ค.
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
// ์์
์ํ
reader.close();
BufferReader์ ํจ๊ป ์ฌ์ฉํ๋ ๋ฉ์๋
Split, StringTokenizer
- split์ ๊ฒฝ์ฐ ์ ๊ท์์ ๊ธฐ๋ฐ์ผ๋ก ๋ฌธ์์ด์ ์๋ฅด๋ ๋ฐ๋ฉด StringTokenizer์ nextToken()๋ฉ์๋๋ ๋จ์ํ ๊ณต๋ฐฑ ์๋ฆฌ๋ฅผ ๋ก๊ฒจ ์ฑ์ฐ๋ ๊ฒ์ด๋ค.
- ์ ๊ท์์ด๋ ์ธ๋ฑ์ค ์ ๊ทผ ๊ฐ์ ์ฒ๋ฆฌ๊ฐ ํ์์๋ค๋ฉด StringTokenizer๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ด ํจ์จ์ ์ด๋ค.
์ด์ ๊ด๋ จํด ๋๊ฐ์ง ๋ฉ์๋์ ์ฌ์ฉ๋ฒ์ ๋ํด ๊ฐ๋จํ ์์๋ณด์.
Split : ๊ณต๋ฐฑ ๋ฌธ์ ๊ธฐ์ค์ผ๋ก ๋ฌธ์์ด ์๋ฅด๊ธฐ
BufferedReader br = new BufferedReader(new InputStreamReader(System.in);
String[] str = br.readLine().split(" ");
int n1 = Integer.parseInt(str[0]); // ๋ฌธ์์ด -> ์ ์ ๋ณํ
int n2 = Integer.parseInt(str[1]);
StringTokenizer : ๊ณต๋ฐฑ ๋ฌธ์ ๊ธฐ์ค์ผ๋ก ๋ฌธ์์ด ์๋ฅด๊ธฐ
BufferedReader br = new BufferedReader(new InputStreamReader(System.in);
StringTokenizer st = new StringTokenizer(br.readLine());
String str = st.nextToken(); // ๋ค์ ํ ํฐ(๋ฌธ์์ด) ๋ฐ๊ธฐ
int n = Integer.parseInt(st.nextToken()); // ๋ค์ ๋ฌธ์์ด ๋ฐ๊ณ ์ ์๋ก ๋ณํ
'๐ต java' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[JAVA] Stack์ด๋ ? (์ฌ์ฉ๋ฒ, ๊ด๋ จ ๋ฌธ์ ํ์ด) (2) | 2024.01.24 |
---|---|
JAVA | ํ์ ๊ณ์ฐ๊ธฐ ์ค์ต - (2) (0) | 2023.09.06 |
JAVA | ํ์ ๊ณ์ฐ๊ธฐ ์ค์ต - (1) (0) | 2023.09.04 |
JAVA | ์ฌ์น ์ฐ์ฐ ๊ณ์ฐ๊ธฐ ์ค์ต - (2) (0) | 2023.08.19 |
JAVA | ์ฌ์น ์ฐ์ฐ ๊ณ์ฐ๊ธฐ ์ค์ต - (1) (0) | 2023.08.15 |