티스토리 뷰
package bitcamp.java142.ch2;
import java.util.Scanner;
public class SwitchTest_HW2 {
public void yearGen(int gender, int yearNum){ //
System.out.println("---SwichTest3.yearGen(int gender, int yearNum)시작---");
int gNum = gender; // gender를 활용하기 위해서 매개변수를 지역변수로 치환
int yNum = yearNum;// yearNum를 활용하기 위해서 매개변수를 지역변수로 치환
switch(gNum){
case '1' : case '3':
switch(yNum) {
case '1' :
System.out.println("당신은 2000년 이전에 출생한 남자입니다.");
break;
case '2' :
System.out.println("당신은 2000년 이후에 출생한 남자입니다.");
}
break;
case '2' : case '4':
switch(yNum) {
case '1':
System.out.println("당신은 2000년 이전에 출생한 여자입니다. ");
break;
case '2' :
System.out.println("당신은 2000년 이후에 출생한 여자입니다. ");
}
break;
}// end of switch
System.out.println("---- SwichTest3.yearGen().switch 종료 ----");
}// end of yearGen
public static void main(String[] args) {
System.out.println("----------SwichTest3.main()시작----------");
System.out.println("주민등록번호 입력 ㄱㄱ");
Scanner sc = new Scanner(System.in); // 외부정보를 받기위해서 스캐너 클래스 사용함
String regNum = sc.nextLine(); // 외부인수를 내부에서 활용하기 위해 nextLine 함수를 이용해서 String으로 받는다
char yearNum = regNum.charAt(0); // 참조변수 regNum의 첫번째 글자를 int형 년도 인수로 설정함
char gender = regNum.charAt(7); // 참조변수 regNum의 8번째 글자를 int형 성별 인수로 설정함
boolean b1 = 8 == regNum.length(); //스트링 길이가 총 8글자인지 확인
boolean b2 = 4 >= regNum.charAt(7);; //성별인수 확인
System.out.println("----------regNum 매개변수 형식 확인----------");
System.out.println("regNum.charAt(7) >> " + regNum.charAt(7));
System.out.println("b1 > :" +b1 + " b2 > : "+b2);
if(b1 && b2){ // 인수를 형식에 맞게 쓴 경우 실행되는 if문 작성
System.out.println("----------SwichTest.main.if 진입----------");
SwitchTest_HW2 st3 = new SwitchTest_HW2(); // SwitchTest3 class를 참조변수로 치환함
st3.yearGen(gender, yearNum); // 이를 이용해 yearGen함수를 메모리에 올림, 이때 ()가 매개변수
}else{
System.out.println("----------SwichTest.main.else 진입----------");
System.out.println("적희요...제대로...입력하시라구여...");
System.out.println("----------SwichTest.main.else 종료----------");
}//end of if문
System.out.println("----------SwichTest.main() 종료----------");
}//end of main
}//end of class
package bitcamp.java142.ch2;
import java.util.Scanner;
public class SwitchTest_HW2_re {
//상수설정해서 받아오기
public static final String GENDER_M_1 = "당신은 2000년 이전에 출생한 남자입니다.";
public static final String GENDER_M_3 = "당신은 2000년 이후에 출생한 남자입니다.";
public static final String GENDER_W_2 = "당신은 2000년 이전에 출생한 여자입니다.";
public static final String GENDER_W_4 = "당신은 2000년 이후에 출생한 여자입니다.";
// 문자상수로만들어서 가장 상단에 올려서 사용하기 >> 공통으로 쓸 수 있는 문자열은 아예 실행할때 올려놓고 재사용, 일일이 올리는게 아님!
// 참조변수로 올리는건 계속 오르내리는게 반복하기 때문에 static이 붙은 메모리로 처음부터 올려놓고 사용해서 필요시마다 사용함
public static void main(String[] args) {
System.out.println("주민등록번호 입력하시오 >>> : 000000-0");
Scanner sc = new Scanner(System.in); // 외부정보를 받기위해서 스캐너 클래스 사용함
String regNum = sc.nextLine(); // 외부인수를 내부에서 활용하기 위해 nextLine 함수를 이용해서 String으로 받는다
int regNumLen = regNum.length();
if (regNumLen == 8){
System.out.println("regNumLen >> : " + regNumLen);
char gender = regNum.charAt(7);
System.out.println( "gender >> : " + gender);
}
}//end of main
}//end of class