자바로 만든 주민등록 생성기--평가좀 해주세요ㅠ.ㅠ
든솔
import java.io.*;
class ju2
{
public static void main(String argss[]) throws IOException
{
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
String temp; //입력한것들을 모두 문자열로 받음
int imsi; //임시변수
int imsi2; //임시변수
int year; //해
int day; //day
int month; //달
int location; //지역(쓰이지 않음)
int [] ju = new int[13]; //주민등록 System.out.print(your birth year: );
temp = in.readLine();
year = Integer.parseInt(temp);System.out.print(your birth month: );
temp = in.readLine();
month = Integer.parseInt(temp);
System.out.print(your birth day: );
temp = in.readLine();
day = Integer.parseInt(temp);
System.out.print(your birthed location: );
temp = in.readLine();
location = Integer.parseInt(temp);System.out.print(your sex: );
temp = in.readLine();
int sex = Integer.parseInt(temp);imsi = year /100;
if(imsi == 18 && sex == 0)//1800 man
ju[7] = 9;
else if(imsi == 18 && sex == 1)//1800 woman
ju[7] = 0;
else if(imsi == 19 && sex == 0)//1900 woman
ju[7] = 9;
else if(imsi == 19 && sex == 1)//1900 woman
ju[7] = 2;
else if(imsi == 20 && sex == 0)//2000 woman
ju[7] = 3;
else if(imsi == 19 && sex == 1)//2000 woman
ju[7] = 4;
switch(location)
{
case 0:ju[8] = 0; break;
case 1:ju[8] = 1; break;
case 2:ju[8] = 2; break;
case 3:ju[8] = 3; break;
case 4:ju[8] = 4; break;
case 5:ju[8] = 5; break;
default: ju[8] = 9; break;}//19** 에서 **을 나타내는 부분
imsi = year/10 %10;
switch(imsi)
{
case 0:ju[0] = 0; break;
case 1:ju[0] = 1; break;
case 2:ju[0] = 2; break;
case 3:ju[0] = 3; break;
case 4:ju[0] = 4; break;
case 5:ju[0] = 5; break;
case 6:ju[0] = 6; break;
case 7:ju[0] = 7; break;
case 8:ju[0] = 8; break;
case 9:ju[0] = 9; break;
}
imsi = year %10;
switch(imsi)
{
case 0:ju[1] = 0; break;
case 1:ju[1] = 1; break;
case 2:ju[1] = 2; break;
case 3:ju[1] = 3; break;
case 4:ju[1] = 4; break;
case 5:ju[1] = 5; break;
case 6:ju[1] = 6; break;
case 7:ju[1] = 7; break;
case 8:ju[1] = 8; break;
case 9:ju[1] = 9; break;
}
//month
imsi2 = month / 10;
imsi = month % 10;
switch(imsi2)
{
case 0:ju[2] = 0; break;
case 1:ju[2] = 1; break;
case 2:ju[2] = 2; break;
case 3:ju[2] = 3; break;
case 4:ju[2] = 4; break;
case 5:ju[2] = 5; break;
case 6:ju[2] = 6; break;
case 7:ju[2] = 7; break;
case 8:ju[2] = 8; break;
case 9:ju[2] = 9; break;
}
switch(imsi)
{
case 0:ju[3] = 0; break;
case 1:ju[3] = 1; break;
case 2:ju[3] = 2; break;
case 3:ju[3] = 3; break;
case 4:ju[3] = 4; break;
case 5:ju[3] = 5; break;
case 6:ju[3] = 6; break;
case 7:ju[3] = 7; break;
case 8:ju[3] = 8; break;
case 9:ju[3] = 9; break;
}imsi2 = day / 10;
imsi = day % 10;
switch(imsi2)
{
case 0:ju[4] = 0; break;
case 1:ju[4] = 1; break;
case 2:ju[4] = 2; break;
case 3:ju[4] = 3; break;
case 4:ju[4] = 4; break;
case 5:ju[4] = 5; break;
case 6:ju[4] = 6; break;
case 7:ju[4] = 7; break;
case 8:ju[4] = 8; break;
case 9:ju[4] = 9; break;
}
switch(imsi)
{
case 0:ju[5] = 0; break;
case 1:ju[5] = 1; break;
case 2:ju[5] = 2; break;
case 3:ju[5] = 3; break;
case 4:ju[5] = 4; break;
case 5:ju[5] = 5; break;
case 6:ju[5] = 6; break;
case 7:ju[5] = 7; break;
case 8:ju[5] = 8; break;
case 9:ju[5] = 9; break;
}
for(int k = 0; k 8;k++)
{
if(k == 6)
{
System.out.print(-);
continue;
}
System.out.print(ju[k]);
}// end of for
}
}
제가 생각하기로는 완전이 그냥 노가다로 한거 같습니다.
이것 말고 왠지 알고리즘이 존재 할거 같은데..ㅠ.ㅠ
평가 좀 부탁드립니다. 그리고 약간의 조언도 좀 ㅎㅎ