728x90
반응형
1. equals 이용하여 판별
2. 문자를 정수형으로 변환하여 판별
3. switch-case문을 이용하여 판별
문제
881219-1055910
881219-2132154
221219-3565456
221219-4132547
- 주민번호를 입력받아 남자인지 여자인지 판정하여 출력하시오. (예제는 임의로 입력된 값이다.)
- 사용자가 직접 13자리 주민번호를 입력한다. 이 때, '-'를 포함하여 입력한다.
- 위에 예시를 입력하고, 입력 받은 주민번호를 이용해 남자인지 여자인지 구분하여 출력한다.
1. equals 이용하여 판별
Scanner scan=new Scanner(System.in);
System.out.print("주민번호를 입력하세요 >> ");
String num = scan.next();
int idx=num.indexOf("-")+1;
String str=num.substring(idx,idx+1);
//str값(1,2,3,4)에 따라 남자/여자를 구분한다. 문자열은 (str == "1") 대신 equals를 이용해야 정확하게 값이 나온다.
if(str.equals("1") || str.equals("3"))
System.out.println("남자입니다.");
else if(str.equals("2") || str.equals("4"))
System.out.println("여자입니다.");
else
System.out.println("다시 입력해주세요.");
2. 문자를 정수형으로 변환하여 판별
//str의 인덱스 값을 숫자로 변환하여 비교
int par = Integer.parseInt(str);
System.out.println("주민번호 첫 번째 자리 : "+par);
if(par==1 || par==3)
System.out.println("남자입니다.");
else if(par==2 || par==4)
System.out.println("여자입니다.");
else
System.out.println("다시 입력해주세요.");
3. switch-case문을 이용하여 판별
//switch - case 문을 이용하여 출력
switch(str){
case "1":
case "3":
System.out.println("남자입니다.");
break;
case "2":
case "4":
System.out.println("여자입니다.");
break;
default:
System.out.println("다시 입력해주세요.");
}
출력 결과
주민번호를 입력하세요 >> 881219-1055910
남자입니다.
주민번호를 입력하세요 >> 881219-2132154
여자입니다.
주민번호를 입력하세요 >> 221219-3565456
남자입니다.
주민번호를 입력하세요 >> 221219-4132547
여자입니다.
728x90
반응형
'HRD_훈련 > 실습' 카테고리의 다른 글
[JAVA] UP&DOWN 답 맞추기 (0) | 2023.05.25 |
---|---|
[JAVA] Random 함수를 이용한 구구단 답 맞추기 (0) | 2023.05.25 |
[JAVA] Math.random()을 이용한 LOTTO (0) | 2023.05.23 |
[JAVA] 반복문을 이용한 별 출력 (0) | 2023.05.21 |
[JAVA] 조건문을 이용해 학점 구하기 (0) | 2023.05.21 |