본문 바로가기
study/Java

[Java] 30. Test3 풀이 (다음 결과가 나오도록 정의된 메서드를 구현하기)

by 금이패런츠 2022. 3. 28.
728x90
반응형
package chap12;
/*
* 다음 결과가 나오도록 정의된 메서드를 구현하기
* 메서드명 : fillZero
* 기능 : 주어진 문자열(숫자)로 주어진 길이의 문자열로  만들고, 
*       왼쪽 빈 공간은 0으로 채운다.
*       만일 주어진 문자열이 null이거나 문자열의 길이가 length의 값과 같으면 그대로 반환한다.
*       만일 주어진 length의 값이 0과 같거나 작은 값이면 빈 문자열("")을 반환한다.
*       만일 주어진 length의 값이 문자열의 길이보다 작으면 length길이만큼만 문자열 반환한다
* 반환타입 : String
* 매개변수 : String src, int length

[결과]
0000012345

123
null
*/

public class Test0322_3 {
	public static void main(String[] args) {
		  String src = "12345";
		  System.out.println(fillZero(src, 10));
		  System.out.println(fillZero(src, -1));
		  System.out.println(fillZero(src, 3));
		  System.out.println(fillZero(null, 3));
	}
	 static String fillZero(String str,int len) {
		 if(str == null) return null;
		 if(len <= 0) return "";		 
		 if(str.length() >= len) return str.substring(0,len);
		 
		 StringBuffer sb = new StringBuffer();
		 for(int i=0;i<str.length();i++) {
			 sb.append(0);
		 }
		 sb.replace(len-str.length(), len, str);
		 return sb.toString();
	 }
}
728x90
반응형