1. 문제
문자열 한 줄로 입력 받은 다음 해당 문자열을 열 글자 단위로 끊어서 출력한다.
마지막으로 끊어지는 문자열이 10미만이면 그것만 출력한다.
2. 풀이
string() 메서드 사용한다.
마지막 문자열이 열 글자 미만인 경우의 핸들링 때문에 조건문을 통해 반복문 반복 횟수, 몇 번째 문자열까지 끊어올 지 다르게 돌아가도록 한다.
3. 코드
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String str = "";
int cnt;
str = sc.nextLine();
if(str.length() % 10 == 0)
cnt = str.length() / 10;
else
cnt = str.length() / 10 + 1;
for(int i=0; i < cnt; i++)
{
String croped;
int num;
if(i == cnt-1) // 글자 수가 10의 배수가 아니면
{
num = str.length(); // 입력 값을 그대로 출력해라
}
else
{
num = 10;
}
croped = str.substring(0, num); // 입력 값을 10의 배수로 자른다
System.out.println(croped);
if(num != 10)
break;
str = str.substring(10);
}
}
4. 결과
ㅇㅇㅇㅇㄹㄹㄹㄹㄹㄹㅈㅈㅈㅈㅈㄱㄱㄱㄱㄱㄱㄱㅂㅂㅂㅂㅂㅂ // 입력
ㅇㅇㅇㅇㄹㄹㄹㄹㄹㄹ
ㅈㅈㅈㅈㅈㄱㄱㄱㄱㄱ
ㄱㄱㅂㅂㅂㅂㅂㅂ