์ง๋ ํฌํธํ ์์ Split ํจ์๋ฅผ ํตํ Tokenizer ๋ฐฉ๋ฒ์ ๊ธฐ์ ํ๋ค.
Java์์๋ StringTokenizer๋ผ๋ ํจ์๋ ์กด์ฌํ๋ค.
๋์ ์๋ฆฌ๋ C์ธ์ด์์ ์ฌ์ฉํ๋ strtok ํจ์์ ๋น์ทํ๊ฒ ๋ณผ ์ ์๋ค.
์์ฑ์(Constructor)
StringTokenizer(String str)
ํด๋น ๋ฌธ์์ด์ ๋ํด ๋ฌธ์์ด ํ ํฐํ ๊ตฌ์ฑ |
StringTokenizer(String str, String delim)
ํด๋น ๋ฌธ์์ด์ ๋ํด ๋ฌธ์์ด ํ ํฐํ ๊ตฌ์ฑ |
StringTokenizer(String str, String delim, boolean returnDelims)
ํด๋น ๋ฌธ์์ด์ ๋ํด ๋ฌธ์์ด ํ ํฐํ ๊ตฌ์ฑ |
ํจ์(Method)
countTokens()
์์ผ๋ก ํธ์ถํ ์ ์๋ ํ์๋ฅผ ๋ฐํํ๋ค. |
hasMoreElements()
hasMoreTokens์ ๋์ผํ ๊ฐ์ ๋ฐํํ๋ค. |
hasMoreTokens()
ํด๋น ๋ฌธ์์ด์์ ์ฌ์ฉํ ์ ์๋ ํ ํฐ์ด ๋ ์๋์ง ์ฌ๋ถ๋ฅผ true, false ๊ฐ์ผ๋ก ๋ฐํํ๋ค. |
nextElement()
๋ฐํ๊ฐ์ด ๋ฌธ์์ด์ด ์๋ Object๋ผ๋ ์ ์ ์ ์ธํ๊ณ ๋ nextToken๊ณผ ๋์ผํ ๊ฐ์ ๋ฐํํ๋ค. |
nextToken()
ํด๋น ๋ฌธ์์ด์์ ๋ค์ ํ ํฐ์ ๋ฐํํ๋ค. |
nextToken(String delim)
ํด๋น ๋ฌธ์์ด์์ ๋ค์ ํ ํฐ์ ๋ฐํํ๋ค. |
Calculator ๊ตฌํ ์ค ์ผ๋ถ๋ถ์์ StringTokenizer๋ฅผ ๋ค์๊ณผ ๊ฐ์ด ์ฌ์ฉํ๋ค.
ActionListener resultEventHandler = new ActionListener() {
public void actionPerformed(ActionEvent e) {
String data = textarea.getText();
StringTokenizer token = new StringTokenizer(data,"+-*/",true);
double a = Double.parseDouble(token.nextToken());
String buffer = token.nextToken();
double b = Double.parseDouble(token.nextToken());
if(buffer.equals("+")) {
System.out.println(a+b);
}
else if (buffer.equals("-")) {
System.out.println(a-b);
}
else if (buffer.equals("*")) {
System.out.println(a*b);
}
else if (buffer.equals("/")) {
System.out.println(a/b);
}
}
};
*Reference
https://docs.oracle.com/javase/7/docs/api/java/util/StringTokenizer.html
StringTokenizer (Java Platform SE 7 )
Constructs a string tokenizer for the specified string. All characters in the delim argument are the delimiters for separating tokens. If the returnDelims flag is true, then the delimiter characters are also returned as tokens. Each delimiter is returned a
docs.oracle.com
'๐ฌ Language > Java' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
Overloading๊ณผ Overriding (1) | 2020.01.30 |
---|---|
Calculator ์ค์ต ์์ฑ (1) | 2020.01.18 |
extends์ implements (0) | 2020.01.17 |
Event๋? (0) | 2020.01.11 |
GUI ํํํ๊ธฐ (0) | 2020.01.09 |
์ง๋ ํฌํธํ ์์ Split ํจ์๋ฅผ ํตํ Tokenizer ๋ฐฉ๋ฒ์ ๊ธฐ์ ํ๋ค.
Java์์๋ StringTokenizer๋ผ๋ ํจ์๋ ์กด์ฌํ๋ค.
๋์ ์๋ฆฌ๋ C์ธ์ด์์ ์ฌ์ฉํ๋ strtok ํจ์์ ๋น์ทํ๊ฒ ๋ณผ ์ ์๋ค.
์์ฑ์(Constructor)
StringTokenizer(String str)
ํด๋น ๋ฌธ์์ด์ ๋ํด ๋ฌธ์์ด ํ ํฐํ ๊ตฌ์ฑ |
StringTokenizer(String str, String delim)
ํด๋น ๋ฌธ์์ด์ ๋ํด ๋ฌธ์์ด ํ ํฐํ ๊ตฌ์ฑ |
StringTokenizer(String str, String delim, boolean returnDelims)
ํด๋น ๋ฌธ์์ด์ ๋ํด ๋ฌธ์์ด ํ ํฐํ ๊ตฌ์ฑ |
ํจ์(Method)
countTokens()
์์ผ๋ก ํธ์ถํ ์ ์๋ ํ์๋ฅผ ๋ฐํํ๋ค. |
hasMoreElements()
hasMoreTokens์ ๋์ผํ ๊ฐ์ ๋ฐํํ๋ค. |
hasMoreTokens()
ํด๋น ๋ฌธ์์ด์์ ์ฌ์ฉํ ์ ์๋ ํ ํฐ์ด ๋ ์๋์ง ์ฌ๋ถ๋ฅผ true, false ๊ฐ์ผ๋ก ๋ฐํํ๋ค. |
nextElement()
๋ฐํ๊ฐ์ด ๋ฌธ์์ด์ด ์๋ Object๋ผ๋ ์ ์ ์ ์ธํ๊ณ ๋ nextToken๊ณผ ๋์ผํ ๊ฐ์ ๋ฐํํ๋ค. |
nextToken()
ํด๋น ๋ฌธ์์ด์์ ๋ค์ ํ ํฐ์ ๋ฐํํ๋ค. |
nextToken(String delim)
ํด๋น ๋ฌธ์์ด์์ ๋ค์ ํ ํฐ์ ๋ฐํํ๋ค. |
Calculator ๊ตฌํ ์ค ์ผ๋ถ๋ถ์์ StringTokenizer๋ฅผ ๋ค์๊ณผ ๊ฐ์ด ์ฌ์ฉํ๋ค.
ActionListener resultEventHandler = new ActionListener() {
public void actionPerformed(ActionEvent e) {
String data = textarea.getText();
StringTokenizer token = new StringTokenizer(data,"+-*/",true);
double a = Double.parseDouble(token.nextToken());
String buffer = token.nextToken();
double b = Double.parseDouble(token.nextToken());
if(buffer.equals("+")) {
System.out.println(a+b);
}
else if (buffer.equals("-")) {
System.out.println(a-b);
}
else if (buffer.equals("*")) {
System.out.println(a*b);
}
else if (buffer.equals("/")) {
System.out.println(a/b);
}
}
};
*Reference
https://docs.oracle.com/javase/7/docs/api/java/util/StringTokenizer.html
StringTokenizer (Java Platform SE 7 )
Constructs a string tokenizer for the specified string. All characters in the delim argument are the delimiters for separating tokens. If the returnDelims flag is true, then the delimiter characters are also returned as tokens. Each delimiter is returned a
docs.oracle.com
'๐ฌ Language > Java' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
Overloading๊ณผ Overriding (1) | 2020.01.30 |
---|---|
Calculator ์ค์ต ์์ฑ (1) | 2020.01.18 |
extends์ implements (0) | 2020.01.17 |
Event๋? (0) | 2020.01.11 |
GUI ํํํ๊ธฐ (0) | 2020.01.09 |