JAVA1 StringStudy 숙제 (임시저장)
import java.util.StringTokenizer;
class StringStudy
{
public static void main( String[] args )
{
StringTokenizer st = new StringTokenizer( "800112-1111111", "-" );
// 1980년 1월 12일 생 32살 남자입니다.
}
}
풀이 1
import java.util.StringTokenizer;
class StringStudy
{
public static void main( String[] args )
{
StringTokenizer st = new StringTokenizer( "800112-1111111", "-" );
// 1980년 1월 12일 생 32살 남자입니다.
StringBuffer sb = new StringBuffer();
while( st.hasMoreTokens() )
{
sb.append( st.nextToken() );
}
int year = ( sb.charAt( 0 ) - 48 ) * 10 + sb.charAt( 1 ) - 48 + ( sb.charAt( 6 ) == '3' || sb.charAt( 6 ) == '4' ? 2000 : 1900 );
int month = ( sb.charAt( 2 ) - 48 ) * 10 + sb.charAt( 3 ) - 48;
int day = ( sb.charAt( 4 ) - 48 ) * 10 + sb.charAt( 5 ) - 48;
int age = 2011 - year + 1;
String gender = sb.charAt( 6 ) == '1' || sb.charAt( 6 ) == '3' ? "남자" : "여자";
System.out.println( year + "년 " + month + "월 " + day + "일 " + age + "살 " + gender + "입니다.");
}
}
풀이 2
import java.util.StringTokenizer;
class StringStudy2
{
public static void main( String[] args )
{
StringTokenizer st = new StringTokenizer( "800112-1111111", "-" );
// 1980년 1월 12일 생 32살 남자입니다.
StringBuffer sb = new StringBuffer();
while( st.hasMoreTokens() )
{
sb.append( st.nextToken() );
}
int year = ( sb.charAt( 0 ) - 48 ) * 10 + sb.charAt( 1 ) - 48 + ( sb.charAt( 6 ) == '3' || sb.charAt( 6 ) == '4' ? 2000 : 1900 );
int month = ( sb.charAt( 2 ) - 48 ) * 10 + sb.charAt( 3 ) - 48;
int day = Integer.parseInt( sb.substring( 4, 6 ) );
int age = 2011 - year + 1;
String gender = sb.charAt( 6 ) == '1' || sb.charAt( 6 ) == '3' ? "남자" : "여자";
System.out.println( year + "년 " + month + "월 " + day + "일 " + age + "살 " + gender + "입니다.");
}
}