728x90
반응형
package chap12;
/*
* format 메서드 구현하기
* 메서드명 : String format (String str,int len,int align)
* 기능 : 주어진 문자열을 지정된 크기의 문자열로 변환.
* 나머지 공간은 공백으로채운다.
* (0 : 왼쪽 정렬, 1: 가운데 정렬, 2:오른쪽 정렬)
[결과]
가나다
가나다
가나다
가나
*/
public class Test0322_1 {
public static void main(String[] args) {
String str = "가나다";
System.out.println(format(str, 7, 0));
System.out.println(format(str, 7, 1));
System.out.println(format(str, 7, 2));
System.out.println(format(str, 2, 0));
}
static String format(String str, int len, int align) {
//문자열의 길이가 출력하는 길이보다 크거나 같은경우.
if (str.length() >= len)
return str.substring(0, len);
//문자열의 길이가 출력하는 길이보다 작은경우.
StringBuffer sb = new StringBuffer();
for (int i = 0; i < len; i++) { //sb 객체에 출력해야하는 갯수만큼 공백채우기
sb.append(" ");
}
int l = len - str.length(); //출력길이 - 문자열의길이 = 공백의 갯수
switch (align) {
case 0:sb.replace(0, str.length(), str);break; //왼쪽정렬
case 1:sb.replace(l/2,str.length()+l/2, str);break; //가운데정렬
case 2:sb.replace(l,str.length()+l, str);break; //오른쪽정렬
}
return sb.toString(); //String 객체로 리턴
}
}
728x90
반응형
'study > Java' 카테고리의 다른 글
[Java] 30. Test3 풀이 (다음 결과가 나오도록 정의된 메서드를 구현하기) (0) | 2022.03.28 |
---|---|
[Java] 30. Test2 풀이 (int getRand(f,t) : 함수 구현하기) (0) | 2022.03.28 |
[Java] 30. Test3 (다음 결과가 나오도록 정의된 메서드를 구현하기) (0) | 2022.03.28 |
[Java] 30. Test2 (int getRand(f,t) : 함수 구현하기) (0) | 2022.03.28 |
[Java] 30. Test1 (format 메서드 구현하기) (0) | 2022.03.28 |