타닥타닥 개발자의 일상

Java로 아스키 코드로 입력된 문자가 숫자인지 판별 / charAt 과 아스키 코드로 문장에 숫자가 있는지 판단하는 코드 짜기 / to Uppercase/ toLowerCase 사용하지 않고 모두 대문자로 출력 하기 본문

코딩 기록/Java

Java로 아스키 코드로 입력된 문자가 숫자인지 판별 / charAt 과 아스키 코드로 문장에 숫자가 있는지 판단하는 코드 짜기 / to Uppercase/ toLowerCase 사용하지 않고 모두 대문자로 출력 하기

NomadHaven 2021. 12. 9. 23:31
입력된 값이 문자인지 숫자인지 판별

 

import java.util.Iterator;

public class Homework1209 {

public static void main(String[] args) {

 

 

char c = 'A'; 

System.out.println((int)c);                        //A의 아스키 코드 값 65출력

 

int asccode = (int)c;                                 //c의 아스키 코드를 정수인 변수값 asccode로 초기화

boolean numberOK = true;                       //numberOK는 해당 값이 숫자면 true라는 변수

if(asccode < 48 || asccode > 57) {             //asccode < 48 || asccode > 57에 해당하면 문자

numberOK = false;                                //asccode는 56이므로 위의 조건에 해당하는 문자.

                                                     //numberOK는 숫자일때 참이므로 asccdoe가 문자일땐  false

 

 

if(numberOK) {

System.out.println("숫자입니다.");                //numberOK=변수가 숫자일땐 "숫자입니다 출력"

}

 

 

else {

System.out.println("숫자가 아닙니다.");        //numberOK가 아닌 경우 "숫자가 아닙니다." 출력

}

 

 

 

 

출력되는 값
65
숫자가 아닙니다.

 

 

 

입력된 문자열이 모두 숫자로 되어 있는지 아니면 모두 숫자로 되어있지 않은지 판별하는 코드를 작성하시오.

import java.util.Scanner;

public class Homework1209 {

public static void main(String[] args) {

Scanner sc = new Scanner(System.in); 

 

 

System.out.print("number = ");                            //입력받을 문자열 

String strNum = sc.next();                                  //문자열이므로 자료형은  String으로 설정

numberOK = true;                                            // numberOK는 문자열이 모두 숫자일때 참이라 설정

for(int i =0 ; i <strNum.length() ; i++) {                 

char ch = strNum.charAt(i);                                 //ch는 입력받은 문자열의  i번째 문자

int n = (int)ch;                                                 //입력받은 문자를 정수형의 아스키 코드인 n으로 변환

if(n<48 || n>57) {                                              // n<48 || n>57조건에 해당하면 문자. 이 조건에 해당하면

numberOK =false;                                            // 문자열이 모두 숫자일 때 참인 numberOK가 false가 됨.

break;                                                           // 구문 탈출

       }

}

 

if(numberOK) {

System.out.println("모두 숫자입니다.");

int Number = Integer.parseInt(strNum);

}

 

 

else {

System.out.println("숫자가 아닌 문자가 포함되어 있습니다.");

}

 

}

}

 

 


소문자인 영문를 입력하라.
toUppercase나 toLowerCase를 사용하지 않고 모두 대문자로 출력되게 바꿔라 

String word = "Hello";                              //"Hello"를 문자열 변수 word로 초기화

String result = "";                                    

for(int i =0; i<word.length();i++) {

char c1 =word.charAt(i);                        //c1은 Hello 의 i번째 문자

int n = (int)c1;                                    //c1을 정수형의 아스키 코드로 초기화

if(n>=97) {                                //아스키 코드 a==97. 따라서 97보다 크거나 같으면 소문자. 97보다 작으면 대문자   n = n-32;                         //소문자 아스키 코드에서 대문자 아스키 코드 빼면 항상 32 나온다. ex) 97(a) -65(A) =32

    }                                  //따라서 소문자 아스키 코드에서 32를 빼면 항상 대문자 아스키 코드가 나온다는 말.

                                      //소문자 아스키 코드 값을 대문자 아스키 코드 값으로 초기화.

result = result +(char)n;         //값 없는 result("")와 정수형 아스키 코드 n을 문자형(char)로 변환해서 합산. 초기화.

}

System.out.println(result);

 

}

}

 

출력되는 값
HELLO
Comments