์๋ฐ์์ ์ซ์ ํ๋ณํ๊ธฐ
Java์ ์คํธ๋ง์ด ์ซ์(์ ์, int)์ธ์ง ํ๋จํ๊ธฐ ์ํ ๋ฐฉ๋ฒ ๋ ๊ฐ์ง๋ฅผ ์๊ฐํฉ๋๋ค
1) ์คํธ๋ง์ ๊ฐ ๋ฌธ์๋ฅผ ํ๋ํ๋ ์ํํ๋ฉด์ ascii ์ฝ๋ ๊ฐ์ ๋น๊ตํ๋ ๋ฐฉ๋ฒ
์ฒซ ๋ฒ์งธ๋ก ์๊ฐํด๋๋ฆด ๋ฐฉ๋ฒ์ ์ ๋ ฅ๋ฐ์ ๋ฌธ์์ด(์คํธ๋ง)์ ๊ฐ ๋ฌธ์๊ฐ 0~9 ascii ์ฝ๋๊ฐ ์ฌ์ด์ ์๋ char์ธ์ง๋ฅผ ํ๋ณํ๋ ๋ฐฉ๋ฒ์ ๋๋ค.
0~9์ ascii ์ฝ๋๊ฐ์ ์ญ์ง์๋ก 48~57 ์ ๋๋ค.
๋ฐ๋ผ์ String์ char[]๋ก ๋ณํํ ๋ค์ loop๋ฅผ ๋๋ฉด์ ๊ฐ char๊ฐ 48~57์ฌ์ด์ ๊ฐ์ธ์ง๋ฅผ ํ๋จํ์ฌ ์ซ์์ธ์ง๋ฅผ ํ๋ณํฉ๋๋ค.
์ฝ๋๋ ์๋์ ๊ฐ์ต๋๋ค.
String str = "not a number";
boolean isNumber = true;
for(char c : str.toCharArray()) {
if(c >= 48 && c<= 57) {
continue;
} else {
isNumber = false;
break;
}
}
System.out.println("Is string a number ? answer: " + isNumber);
2) Integer.parseInt ๋ฅผ ์ด์ฉํ๋ ๋ฐฉ๋ฒ
๋ ๋ฒ์งธ ๋ฐฉ๋ฒ์ Integer.parseInt ๋ฉ์๋๋ฅผ ์ด์ฉํ๋ ๋ฐฉ๋ฒ์ ๋๋ค.
parseInt ๋ฉ์๋์ ๋ํ javadoc ๋ฌธ์์๋ ์๋์ ๊ฐ์ด ์ค๋ช ์ด ๋์์์ต๋๋ค.
public static int parseInt(String s)
throws NumberFormatException
- Parses the string argument as a signed decimal integer. The characters in the string must all be decimal digits, except that the first character may be an ASCII minus sign
'-'
('\u002D'
) to indicate a negative value. The resulting integer value is returned, exactly as if the argument and the radix 10 were given as arguments to theparseInt(java.lang.String, int)
method. -
-
- Parameters:
s
- aString
containing theint
representation to be parsed- Returns:
- the integer value represented by the argument in decimal.
- Throws:
NumberFormatException
- if the string does not contain a parsable integer.
์ฆ, ๋ฌธ์๋ก ํํ๋ ์ซ์๋ฅผ ์ ๋ ฅ๋ฐ์ int๋ก returnํ๋๋ฐ์
์ ๋ ฅ๋ฐ์ ์คํธ๋ง์ด ์ซ์๊ฐ ์๋ ๊ฒฝ์ฐ NumberFormatException์์ธ๋ฅผ ๋ฐ์์ํต๋๋ค.
๋ฐ๋ผ์ ์ ๋ฉ์๋๋ฅผ ์ฌ์ฉํ์ฌ NumberFormatException์ ๋ฐ์ ์ฌ๋ถ์ ๋ฐ๋ผ ํด๋น ์คํธ๋ง์ด ์ซ์์ธ์ง ์๋์ง๋ฅผ ํ๋ณํ ์ ์์ต๋๋ค.
์ด ๋ฐฉ์์ ์ฌ์ฉํ ์ฝ๋๋ ์๋์ ๊ฐ์ต๋๋ค.
String str = "421303";
boolean isNumber = false;
try {
Integer.parseInt(str);
isNumber = true;
} catch (NumberFormatException e) {
// do nothing
}
System.out.println("Is string a number ? answer: " + isNumber);
Integer ๋ฟ๋ง ์๋๋ผ ๋ค๋ฅธ wrapper ํด๋์ค๋ค์๋ Long.parseLong, Double.parseDouble ๋ฉ์๋๋ค์ด ์์ผ๋ ์ฐธ๊ณ ํ์๊ธฐ ๋ฐ๋๋๋ค.
์ ๋ ๊ฐ์ง ๋ฐฉ๋ฒ ์ธ์ ๋ ์ข์ ๋ฐฉ๋ฒ์ด ์์ผ์ ๋ถ๋ค ์ ๋ณด๋ฐ์ต๋๋ค ใ
๋ด์ฉ์ด ๋์์ด ๋์ จ๋ค๋ฉด ๊ณต๊ฐ ๊พน ๋๋ฅด๊ณ ๊ฐ์ฃผ์ธ์~
'๐ป Programming > Java' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Java] Reversing String Using StringBuilder (StringBuilder๋ก ์คํธ๋ง์ ๊ฑฐ๊พธ๋ก ๋ค์ง๊ธฐ) (0) | 2019.02.25 |
---|---|
[Java] ๋๋ค ์ซ์ ๊ตฌํ๊ธฐ (0) | 2019.01.27 |
AWS S3 Security Credentials ๋ง๋ค๊ธฐ (0) | 2018.08.17 |
AWS S3 ๋ฒํท์ ํ์ผ ์ ๋ก๋ํ๊ธฐ (์๋ฐ) (0) | 2018.08.17 |
[Java] Heap Memory Check (์๋ฐ ํ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋ ์ธก์ ) (0) | 2018.07.28 |