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

[Java / String] μž…λ ₯된 λ¬Έμžμ—΄(string)이 λͺ¨λ‘ μˆ«μžμΈμ§€ μ•Œμ•„λ³΄λŠ” 예제

by Halo_ 2021. 12. 9.
Q. μž…λ ₯된 λ¬Έμžμ—΄(String)이 λͺ¨λ‘ 숫자둜 λ˜μ–΄ μžˆλŠ”μ§€ or λͺ¨λ‘ 숫자둜 λ˜μ–΄ μžˆμ§€ μ•Šμ€μ§€ νŒλ³„ν•˜λŠ” μ½”λ“œλ₯Ό μž‘μ„±ν•˜μ‹œμ˜€.

 

A1.

πŸ”Έ ASCII μ½”λ“œ μ‚¬μš© X

System.out.print("λ¬Έμžμ—΄(string)을 μž…λ ₯ν•΄μ£Όμ„Έμš”: ");
		String strScan = scan.next();
		char temp; 
		boolean check = true;
		
		for(int i = 0; i < strScan.length(); i++) {
			
			temp = strScan.charAt(i);
			
			if(!('0' <= temp && temp <= '9')) {
				check = false;
				break;
			}
		}
		System.out.println("μž…λ ₯된 λ¬Έμžμ—΄μ΄ λͺ¨λ‘ μˆ«μžμΈκ°€? > " + check);
		System.out.println("μž…λ ₯된 λ¬Έμžμ—΄: " + strScan);

 

A2.

πŸ”Έ ASCII μ½”λ“œ μ‚¬μš© 

System.out.print("number = ");
		String strNum = scan.next();
		
		numberOk = true;
		// λ¬Έμžμ—΄μ€ char[] 즉, 문자의 배열이기 λ•Œλ¬Έμ— μ•„λž˜μ™€ 같은 for문이 κ°€λŠ₯ν•˜λ‹€.
		for(int i = 0; i < strNum.length(); i++) {
			
			char ch = strNum.charAt(i); // ν•œκΈ€μžμ”© ch λ³€μˆ˜μ— μ €μž₯
			int n = (int)ch;			// μ €μž₯ν•œ ch 값을 intν˜•μœΌλ‘œ μ €μž₯
			
			if(n < 48 || n > 57) {
				numberOk = false;
				break;
			}
		}
		
		// κ²°κ³Ό 좜λ ₯ [true_숫자, false_숫자 X]
		if(numberOk) {
			int Number = Integer.parseInt(strNum);
			System.out.println("λͺ¨λ‘ μˆ«μžμž…λ‹ˆλ‹€. " + strNum);
		} else {
			System.out.println("μˆ«μžκ°€ μ•„λ‹Œ λ¬Έμžκ°€ ν¬ν•¨λ˜μ–΄ μžˆμŠ΅λ‹ˆλ‹€.");
		}

λŒ“κΈ€