λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°
πŸ€” Languages/Java

[Java / String] μž…λ ₯된 문자(char)κ°€ μˆ«μžμΈμ§€ μ•Œμ•„λ³΄λŠ” 예제

by Halo_ 2021. 12. 9.
Q. μž…λ ₯된 λ¬Έμž(char)κ°€ μˆ«μžλ‘œλ§Œ λ˜μ–΄ μžˆλŠ”μ§€ or λ‹€λ₯Έ λ¬Έμžλ‘œ μž‘μ„±λ˜μ–΄ μžˆλŠ”μ§€  μ•Œμ•„λ³Ό μˆ˜ μžˆλŠ” μ½”λ“œλ₯Ό μž‘μ„±ν•˜μ‹œμ˜€.

 

ex. 
 *  char str = "3"; // μˆ«μž μž…λ‹ˆλ‹€. 
 *  char str = "A"; // μˆ«μžκ°€ μ•„λ‹™λ‹ˆλ‹€.

 

A1.

πŸ”Έ ASCII μ½”λ“œ μ‚¬μš© X
πŸ”Έ λ‚΄μž₯ν•¨μˆ˜( isDigit() ) μ‚¬μš© X

System.out.print("문자(char)λ₯Ό μž…λ ₯ν•΄μ£Όμ„Έμš”: ");
		char charScan = scan.next().charAt(0);
		
		if(('0' <= charScan && charScan <= '9')) {
			System.out.println("μž…λ ₯ν•œ λ¬ΈμžλŠ” 숫자 μž…λ‹ˆλ‹€. > " + charScan);
		} else {
			System.out.println("μž…λ ₯ν•œ λ¬ΈμžλŠ” μˆ«μžκ°€ μ•„λ‹™λ‹ˆλ‹€. > " + charScan);
		}

 

A2. 

πŸ”Έ ASCII μ½”λ“œ μ‚¬μš©
πŸ”Έ λ‚΄μž₯ν•¨μˆ˜( isDigit() ) μ‚¬μš© X

char c = 'A';
		System.out.println((int)c);
		
		int ascCode = (int)c;
		boolean numberOk = true;
		
		// μž…λ ₯받은 문자의 ASCIIμ½”λ“œ 값이 48 ~ 57 사이가 μ•„λ‹ˆλΌλ©΄ numberOk = false둜 μ €μž₯
		if(ascCode < 48 || ascCode > 57) { // ASCIIμ½”λ“œ: 0 = 48, 9 = 57
			numberOk = false;
		}
		
		// κ²°κ³Ό 좜λ ₯ [true_숫자, false_숫자 X]
		if(numberOk) {
			System.out.println("μˆ«μžμž…λ‹ˆλ‹€.");
		} else {
			System.out.println("μˆ«μžκ°€ μ•„λ‹™λ‹ˆλ‹€.");
		}

λŒ“κΈ€