IdGenerator 클래스의 generateId() 메서드는 지정한 숫자를 하나 증가시켜 만들어지는 새로운 값을 이용하여 순차적인 ID를 만드는 기능의 메서드입니다. 다음 설명을 참고하여 generateId 메서드를 완성하세요.
public String generateId(String prefix, char fillChar, int length, int maxNum) throws GenerateIdException{
// 구현하시오.
}
◆ generateId() 메서드의 매개변수
- prefix : ID 앞에 붙일 접두어 문자열
- fillChar : ID가 자릿수보다 모자랄 때 채울 문자
- length : ID의 자릿수
- maxNum : 현재 ID의 최대값
◆ generateId() 메서드에서 구현할 내용
- maxNum 을 하나 증가시킨 값이 지정한 자릿수(length) 보다 클 경우, GenerateIdException 예외를 발생시킨다.
- prefix 뒤에 maxNum을 하나 증가시킨 값을 붙여서 반환하되 maxNum 을 증가시킨 값의 자릿수가 지정한 자릿수(length) 보다 작을 경우, fillChar 를 앞에 붙여서 남는 자리를 채운다.
<< 수행결과 >>
USER-002
USER-AAA16
USER-X306
PRODUCT-BB4035
maxNum의 자리수가 length를 초과하여 ID 생성에 실패하였습니다.
<<참고 및 주의사항>>
1. main 메서드는 변경하지 않습니다.
2. GenerateIdException 클래스는 변경하지 않습니다.
3. 주어진 메서드의 signature는 변경하지 않습니다.
public class IdGenerator {
public static void main(String[] args) {
IdGenerator g = new IdGenerator();
try{
System.out.println(g.generateId("USER-", '0', 3, 1));
System.out.println(g.generateId("USER-", 'A', 5, 15));
System.out.println(g.generateId("USER-", 'X', 4, 305));
System.out.println(g.generateId("PRODUCT-", 'B', 6, 4034));
System.out.println(g.generateId("PRODUCT-", 'C', 4, 9999));
System.out.println(g.generateId("PRODUCT-", 'D', 4, 33));
}catch(GenerateIdException e){
System.out.println(e.getMessage());
}
}
public String generateId(String prefix, char fillChar, int length, int maxNum) throws GenerateIdException{
// 구현하세요.
return null;
}
}
public class GenerateIdException extends Exception {
public GenerateIdException(String msg){
super(msg);
}
}
'프로그래밍 > 자바' 카테고리의 다른 글
수업중 기본명령 (0) | 2016.01.13 |
---|---|
String&io 연습문제 (0) | 2016.01.12 |
json toString (0) | 2015.10.21 |
간단한 달력출력!! (0) | 2015.09.11 |
자바 리플렉션 (0) | 2015.07.29 |