
 
 
๋ฐฑ์ค 11382๋ฒ ๋ฌธ์  ํ์ด
 
๋ฌธ์  ๋ด์ฉ์
77 77 7777 ์ผ๋ก ์
๋ ฅ๊ฐ์ ๋ฐ๊ณ 
77+77+7777 ๊ฒฐ๊ณผ์ธ 7931 ์ด ํ๋ฆฐํธ ๋๋๋ก ํ๋ ๊ฒ.
 
 
์ฐ์  ์์  ์
๋ ฅ1์ ๊ฐ์ ์
๋ ฅ๋ฐ๋๋ก ํด์ผํ๋ค.
Scanner๋ก ๊ฐ์ ๋ฐ์ ๊ฒฝ์ฐ ๊ณต๋ฐฑ ๋๋ ๊ฐํ(' ', '\t', '\r', '\n')์ ๊ฒฝ๊ณ๋ก ์ฝ์ด๋ฒ๋ฆฌ๋ฏ๋ก
๊ณต๋ฐฑ์ ํฌํจํ ์
๋ ฅ๊ฐ์ ๊ทธ๋๋ก ๋ฐ๊ธฐ ์ํด BufferedReader๋ฅผ ์ด์ฉํ๋ค.
 
 
 
BufferedReader ๋ฉ์๋
BufferedReader๋ ์ํฐ (\n)๊ฐ์ ๊ฒฝ๊ณ๋ก ์
๋ ฅ๊ฐ์ ๋ฐ๋๋ค.
์ฌ์ฉ์ ์ํด์๋ ์๋ import๊ฐ ํ์ํ๋ค.
 
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
// ํ ๋ฒ์ import
import java.io.*;
import java.io.*;
public class Main {
    public static void main(String[] args) throws IOException{
    
    	// BufferedReader๋ก ์
๋ ฅ๊ฐ์ ๋ฐ๋ ๊ธฐ๋ณธ ํํ
        BufferedReader num = new BufferedReader(new InputStreamReader(System.in));
        
    }
}
 
 
์
๋ ฅ๊ฐ์ ๋ฐ์ ํ ๊ณต๋ฐฑ์ ๊ธฐ์ค์ผ๋ก ํ์ฑํ๋๋ก ํด์ผํ๋ค.
์ฌ๊ธฐ์์๋ StringTokenizer ๋ฉ์๋,
StringTokenizer์ ํจ๊ป ์ฌ์ฉํ  ์ ์๋ nextToken()๊ณผ HasMoreTokens()์ ํจ๊ป ์ฌ์ฉํ๋ค.
 
 
StringTokenizer ๋ฉ์๋
StringTokenizer ๋ฉ์๋๋ ์ฌ์ฉ์๊ฐ ์ง์ ํ๋ ๊ตฌ๋ถ์๋ฅผ ๊ธฐ์ค์ผ๋ก ๋ฌธ์์ด์ ๋๋ ์ค๋ค.
๊ธฐ๋ณธ๊ฐ์ ๊ณต๋ฐฑ์ ๊ธฐ์ค์ผ๋ก ๋ฌธ์์ด์ ๋๋๊ณ 
๋ ๋ฒ์งธ ์ธ์๋ก ์ผํ(,)๋ ์ (.) ๋ฑ์ ํน์  ๊ตฌ๋ถ์๋ฅผ ์ง์ ํ  ๊ฒฝ์ฐ ๊ตฌ๋ถ์๋ฅผ ๊ธฐ์ค์ผ๋ก ๋ฌธ์์ด์ ๋๋ ์ ์๋ค.
 
import java.util.StringTokenizer;
// ๋์ด์ฐ๊ธฐ๋ฅผ ๊ธฐ์ค์ผ๋ก ๋ฌธ์์ด์ ๋๋๋ค 
StringTokenizer st = new StringTokenizer(๋ฌธ์์ด); 
// ํน์  ๊ตฌ๋ถ์๋ฅผ ๊ธฐ์ค์ผ๋ก ๋ฌธ์์ด์ ๋๋๋ค
StringTokenizer st = new StringTokenizer(๋ฌธ์์ด, ๊ตฌ๋ถ์); 
 
nextToken() ๋ฉ์๋
StringTokenizer๋ก ์์ฑ๋ ๊ฐ์ฒด์์ ๋ถ๋ฆฌ๋ ๋ฌธ์์ด์ nextToken() ๋ฉ์๋๋ฅผ ์ด์ฉํด ํ์ธํ ์ ์๋ค.
import java.io.*;
import java.util.StringTokenizer;
public class Main {
    public static void main(String[] args) throws IOException {
        StringTokenizer st = new StringTokenizer("ํ ๋ผ ํธ๋์ด ๊ณฐ");
        System.out.println(st.nextToken());// ํ ๋ผ ์ถ๋ ฅ
        System.out.println(st.nextToken()); // ํธ๋์ด ์ถ๋ ฅ
        System.out.println(st.nextToken()); // ๊ณฐ ์ถ๋ ฅ
    }
}
hasMoreTokens() ๋ฉ์๋
hasMoreTokens() ๋ฉ์๋๋ StringTokenizer ๊ฐ์ฒด ์์ ๊ฐ์ ธ์ฌ ๊ฐ์ด ์์ ๊ฒฝ์ฐ true
๋์ด์ ๊ฐ์ ธ์ฌ ๊ฐ์ด ์์ ๊ฒฝ์ฐ false ๋ฅผ ๋ฐํํ๋ค.
 
 
 
๋ฉ์๋๋ฅผ ํ์ฉํ ์ต์ข
 ์์ฑ ์ฝ๋๋ ๋ค์๊ณผ ๊ฐ๋ค.
 
import java.io.*;
import java.util.StringTokenizer;
public class Main {
    public static void main(String[] args) throws IOException{
        // ์
๋ ฅ๊ฐ์ ๋ฐ๊ณ  num ์ ๋์
        BufferedReader num = new BufferedReader(new InputStreamReader(System.in));
        // String ํ์
์ผ๋ก ์
๋ ฅ๊ฐ ์ ์ฅ
        String str = num.readLine();
        // ๋ณ๋์ ๊ตฌ๋ถ์ ์ง์ ์ด ์์ผ๋ฏ๋ก ๊ณต๋ฐฑ, ํญ์ ๊ธฐ๋ณธ ๊ตฌ๋ถ์๋ก ์ฌ์ฉ
        StringTokenizer st = new StringTokenizer(str);
        // totalNum ์ด๊น๊ฐ 0 
        int totalNum = 0;
        // st.hasMoreTokens() : st์ ๋์ด์ ๊ฐ์ ธ์ฌ ๊ฐ์ด ์์ ๊ฒฝ์ฐ false ๋ฐํ 
        while(st.hasMoreTokens()){
            // st์ ๊ณต๋ฐฑ๊ฐ์ ๊ธฐ์ค์ผ๋ก ๊ฐ์ ๊ฐ์ ธ์จ ํ str1์ ๋์
ํ๋ค.
            String str1 = st.nextToken();
            // str1์ int๋ก ํ๋ณํ ํ totalNum์ ๊ฐ๊ณผ ๋ํ ๊ฐ์ totalNum์ ์ฌ๋์
ํ๋ค
            totalNum += Integer.parseInt(str1);
        }
        // totalNum ์ถ๋ ฅ
        System.out.println(totalNum);
    }
} 
 
 
ํด๋น ์ฝ๋๋ก ์ ์ถํ์ ๋ 
๋ฐํ์ ์๋ฌ NumberFormat (java.lang.NumberFormatException) ๊ฐ ๋ฐ์.
 
 
 
NumberFormat ๋ฐํ์ ์๋ฌ๋ ๋ฌธ์์ด์ ์๋ก ๋ณํํ  ๋ ๋ฐ์ํ๋ ์๋ฌ
 ๋ฐ์ํ๋ ๊ฒฝ์ฐ๋ ํฌ๊ฒ ๋๊ฐ์ง๋ก ํ์ธ๋๋ค.
 
1. ๋ฌธ์์ด์ intํ์ผ๋ก ๋ฐํํ  ๋ ํ๋์ ์ ์๋ก ๋์ค์ง ์๋ ๊ฒฝ์ฐ
์ ) 1 2 -> ์ ์ ํ๋๋ก ๋ฐํํ  ์ ์๋ค
 
2. ์๋ฃํ์ ๋ฒ์๋ฅผ ๋ฒ์ด๋ ํด๋น ์๋ฃํ์ผ๋ก ๋ฒ์ด๋  ์ ์๋ ๊ฒฝ์ฐ
 
 
 
 
์๋ฌ์ ๋ํ ์์ธํ ๋ด์ฉ์ ์๋ ํ์ด์ง๋ฅผ ์ฐธ๊ณ 
https://help.acmicpc.net/judge/rte/NumberFormat
๋ฐํ์ ์๋ฌ (NumberFormat)
NumberFormatjava.lang.NumberFormatException์ ๋ฌธ์์ด์ ์๋ก ๋ณํํ ๋ ๋ฐ์ํ๋ ์๋ฌ์ ๋๋ค.import java.util.*; import java.io.*; class Main { public static void main(String[] args) throws IOException { BufferedReader bf = new BufferedRea
help.acmicpc.net
 
 
 
 
 
Interger๋ก ํ๋ณํ ํ  ๋ Interger ๋ฒ์ ๋ณด๋ค ๊ฐ์ด ์ปค์ ธ ์๊ธฐ๋ ์ค๋ฅ๋ก ํ์ธ.
๋ฐ๋ผ์ int๊ฐ ์๋ long์ผ๋ก ํ๋ณํ์์ผ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ค.
 
import java.io.*;
import java.util.StringTokenizer;
public class Main {
    public static void main(String[] args) throws IOException{
        BufferedReader num = new BufferedReader(new InputStreamReader(System.in));
        String str = num.readLine();
        StringTokenizer st = new StringTokenizer(str);
        long totalNum = 0;
        while(st.hasMoreTokens()){
            String str1 = st.nextToken();
            totalNum += Long.parseLong(str1);
        }
        System.out.println(totalNum);
    }
} 
 
 
'๊ฐ๋ฐ ์ด์ผ๊ธฐ > JAVA' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| Java - ์ต๋๊ฐ ์ต์๊ฐ ๊ฐ์ ธ์ค๊ธฐ Math.max() / Math.min() (0) | 2024.01.16 | 
|---|---|
| Java - repeat ๋ฉ์๋ ์ด์ฉํด ๋ณ์ฐ๊ธฐ (2) | 2023.12.20 | 
| Java - ์์ธ ๋ฐ์ ์ฝ๋ (throw new IllegalArgumentException) (0) | 2023.07.04 | 
| Java - ์ดํด๋ฆฝ์ค ํ๊ฒฝ ์ค์  (0) | 2023.07.01 | 
| Java - ๋ฐ์ดํฐ ํ์ (data type) (0) | 2023.06.29 |