[Java] PS์์ ์์ฃผ ์ฌ์ฉํ๋ ์ ๋ ฅ ํด๋์ค์ ๋ํด
by rlaehddnd0422์๊ณ ๋ฆฌ์ฆ ๋ฌธ์ ํ์ด์์ ํ์ค ์ ๋ ฅ์ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ ์๊ฐ์ด ์ค๋ ๊ฑธ๋ฆฌ๊ธฐ ๋๋ฌธ์ ์ข์ ์ ๋ต์ ์๋๋๋ค.
PS์์ ์์ฃผ ์ฌ์ฉ๋๋ ์๋ฐ ์ ๋ ฅ ํด๋์ค ์ฌ์ฉ๋ฒ์ ๋ํด ๊ฐ๋จํ ์์๋ด ์๋ค.
๋ํ์ ์ผ๋ก ์์ฃผ ์ฌ์ฉํ๋ ์ ๋ ฅ ํด๋์ค์๋ Scanner, BufferedReader๊ฐ ์๊ณ , ์ ๋ ฅ๋ฐ์ ๋ฌธ์์ด์ ํ ํฌ๋์ด์งํ์ฌ ์ฌ๋ผ์ด์คํ ์ ์๋ StringTokenizer๊ฐ, ์ฌ๋ฌ ๋ฌธ์์ด๋ค์ ๋ชจ์ ์ถ๋ ฅ ๊ฒฐ๊ณผ๋ฅผ ํ ๊ณณ์ ๋น๋ํ ์ ์๋ StringBuilder๊ฐ ์์ต๋๋ค.
Scanner
next + ์๋ฃํ์ ์ด์ฉํด ์ ๋ ฅ์ ๋ฐ์ ์ ์๊ณ , hasNext + ์๋ฃํ์ ใ ์ด์ฉํด ์ ๋ ฅ๋ฐ์ ์ ์๋ ์๋ฃํ์ด ์๋์ง ๊ตฌํ ์ ์์ต๋๋ค.
๊ธฐ๋ณธ์ ์ธ ์ ์ธ ๋ฐ ์ฌ์ฉ
public class ScannerTest {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int a = sc.nextInt();
double d = sc.nextDouble();
String str = sc.next();
System.out.println("a = " + a);
System.out.println("d = " + d);
System.out.println("str = " + str);
}
}
hasNextXXX์ ์ด์ฉํด ์ ๋ ฅ์์ ์ ์๊ฐ ์ฃผ์ด์ง๋ ๋์ ๊ณ์ ์ ๋ ฅ ๋ฐ๊ธฐ
public class ScannerTest1 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
while (sc.hasNextInt()) {
int k = sc.nextInt();
System.out.println("k = " + k);
}
}
}
์ ์์ ๋ฌธ์์ด ๋์ ์ฒ๋ฆฌ
public class ScannerTest2 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int i = sc.nextInt(); // ์ ์ + '\n'
// sc.nextLine();
String s = sc.nextLine(); // s์ ์ค๋ฐ๊ฟ๋ฌธ์๊ฐ ์๋์ผ๋ก ๋ค์ด๊ฐ๊ฒ ๋ฉ๋๋ค.
System.out.println("i = " + i);
System.out.println("s = " + s);
}
}
์ด ์ฝ๋์์ 1์ ์ ๋ ฅํ๊ณ ์ ๋ ฅ์ ๋ง์น๊ธฐ ์ํด ์ํฐ๋ฅผ ์ ๋ ฅํ๋ฉด ๋ฒํผ์ '1\n'์ด ๋ค์ด๊ฐ๊ฒ ๋ฉ๋๋ค.
์ด ๋ String s์ ๋ฒํผ์ ์ค๋ฐ๊ฟ๋ฌธ์๊ฐ ์ฝ์ ๋๊ณ ์ข ๋ฃ๋ฉ๋๋ค. ๋ฐ๋ผ์ ์๋์ ๊ฐ์ ๊ฒฐ๊ณผ๋ฅผ ์ป๊ฒ ๋ฉ๋๋ค.
์ด๋ฅผ ๋ฐฉ์งํ๊ธฐ ์ํด ์ค๋ฐ๊ฟ์ ์ ๋ ฅ๋ฐ๋ ์ฝ๋์ธ scanner.nextLine(); ๋ฅผ ์์ฑํด ์ฃผ์ด์ผ ์ฌ๋ฐ๋ฅธ ์๋๋๋ก ๋์ํ ์ ์์ต๋๋ค.
- Scanner์ ๋จ์ : ์๋๊ฐ ๋งค์ฐ ๋๋ฆฌ๊ณ ์ ๋ ฅ์ ๋ง์ด ๋ฐ์์ผ ํ๋ ๊ฒฝ์ฐ ๋ณ๋์ ์ฒ๋ฆฌ๊ฐ ํ์ํฉ๋๋ค.
BufferedReader
- Scanner์ ๋๋ฆฐ ์๋ ๊ฐ์ ๋ ์ ๋ ฅ ํด๋์ค
- read(), readLine()๋ง ์๊ธฐ ๋๋ฌธ์ ๋ฌธ์์ด์ด ์๋ ์ ์ํ์ ํ์ฑ์ด ํ์ํ๋ค๋ ๋จ์ ์ด ์์ต๋๋ค.
public class BufferedReaderTest0 {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String[] line = br.readLine().split(" ");
int result = Integer.valueOf(line[0]) + Integer.valueOf(line[1]);
System.out.println("result = " + result);
}
}
StringTokenizer
- ์ ๋ ฅ๋ฐ์ ๋ฌธ์์ด์ ํ ํฐ์ผ๋ก ์๋ผ์ผ ํ ๋ ์ ์ฉํ ํด๋์ค
- BufferedReader์์ readLine().split(" ")์ผ๋ก๋ ๊ฐ๋ฅ
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
String line = bf.readLine();
StringTokenizer st = new StringTokenizer(line, " ");
int sum = 0;
while(st.hasMoreTokens())
sum += Integer.valueOf(st.nextToken());
System.out.println(sum);
}
}
StringBuilder
- ์ถ๋ ฅํด์ผ ํ๋ ๊ฒ์ด ๋ง์ ๊ฒฝ์ฐ ๋งค๋ฒ ์ถ๋ ฅํ๋ ๊ฒ๋ณด๋ค, ํ ๋ฒ์ ๋ชจ์์ ์ถ๋ ฅํ๋ ๊ฒ์ด ์๋์ ์ผ๋ก ์ ๋ฆฌํ๋ฐ, StringBuilder๋ฅผ ์ฌ์ฉํ๋ฉด ๋ฌธ์์ด์ ๋ง๋ค ์ ์์ต๋๋ค.
public class StringBuilderTest {
public static void main(String[] args) {
StringBuilder sb = new StringBuilder();
for (int i = 1; i <= 5; i++) {
sb.append(i + "\n");
}
System.out.println(sb);
}
}
<์ฐธ๊ณ ์๋ฃ>
'๐ Backend > Java' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Java] static variable, static method์ ๋ํด (0) | 2023.09.22 |
---|---|
[Java] ๊ฐ์ฒด(Object)์ ํด๋์ค(Class)์ ๋ํด (0) | 2023.09.22 |
[Java] ํ์ค ์ ์ถ๋ ฅ ํด๋์ค System์ ๋ํด (0) | 2023.09.21 |
[Java] JVM(Java Virtual Machine)์ ๊ตฌ์กฐ์ ๋์๋ฐฉ์์ ๋ํด (0) | 2023.09.21 |
[Java] String ๊ฐ์ฒด์ ๋ถ๋ณ์ฑ(Immutablity)์ ๋ํด (0) | 2023.09.20 |
๋ธ๋ก๊ทธ์ ์ ๋ณด
Study Repository
rlaehddnd0422