강의로 돌아가기
jsk2606

어떤 부분이 문제인지 알려주실수있나요..?

다수개 공백처리 테스트가 두개 있는것 같아서 함수로 처리하니까 80점에서 31점으로 떨어져 버렸어요..ㅜ

import java.util.ArrayList;

public class Test2 {

public static void main(String[] args) {

String s = try hello world AAAAaaaAAA bbbBBbb;
String answer = ";
s = s.trim().replaceAll(
\s{2,}, "); // 다수개의 공백처리

String[] list = s.split(" "); // 1. 공백기준 으로 단어를 나눈 문자열배열 생성.

for (String a : list) { // 2. 단어를 하나씩 변수에 저장
ArrayList listo = new ArrayList();// 3. 단어의 문자 하나씩 변경할 list 생성
for (int i = 0; i < a.length(); i++) {listo.add(a.charAt(i));} // 4. 단어를 char별로 list에 저장

for (int i = 0; i < a.length(); i++) {// 5. 단어의 자릿수만큼 반복

if (i%2 == 0) { // 6. 자릿수가 홀수일때 (index때문)
if (a.charAt(i) > 'Z') {// 6-1.문자가 소문자일때
answer += (char)(a.charAt(i) - 32); // 6-2.대문자로 변환하여 스트링에 추가
}else{answer += a.charAt(i);}//6-3. 대문자라면 변환없이 추가
} else { // 7. 자릿수가 짝수일때
if (a.charAt(i) < 'a') {// 7-1.문자가 대문자일때
answer += (char)(a.charAt(i) + 32); // 7-2.소문자로 변환 스트링에 추가
}else{answer += a.charAt(i);}//7-3. 소문자라면 변환없이 추가
}
}
answer +=" ";

}
answer = answer.substring(0, answer.length()-1);// 마지막 공백제거
System.out.println(answer);
}
}

0 개의 답변
답변 쓰기
이 입력폼은 마크다운 문법을 지원합니다. 마크다운 가이드 를 참고하세요.