이번에는 어떠한 문자열을 입력받았을때 공백을 제외한 글자수만을 리턴하는 코드를 작성해 보자. 즉, 어떤 문자열이 "공백을 제외한 글자수"라면 띄어쓰기를 위해 필요한 공백 문자 2개를 제외하고 9라는 숫자를 리턴해야 한다.
입력해야하는 값 : "공백을 제외한 글자수"
공백 문자 2개를 제외해야된다고 한다면 String 클래스의 charAt()메서드를 사용하면된다.
charAt()메서드는 해당 문자열의 특정인데스에 해당하는 문자를 반환한다.
그래서 이 문제는 문자가 공백인가, 아닌가를 판별해야 풀수가 있다.
공백문자 2개를 제외하고 9라는 숫자를 리턴해야 하므로,
메서드의 의미는 '공백을 제외한 글자수'를 나타내야한다.
static int getExcludeSpaceCount(String s){
int result = 0 //result변수 초기화;
for(int i=0; i<s.length(); i++){
if(s.charAt(i) != ' '){ //공백이 아닌 경우에만 result에 +1
result++;
}
}
return result;
}
로 한다.이제 완성을 시켜보면
public class Ex4_1 {
public static int getExcludeSpaceCount(String s) {
int result = 0;
for (int i = 0; i < s.length(); i++) {
if (s.charAt(i) != ' ') { //공백이 아닌경우에만 결과값을 증가.
result++;
}
}
return result;
}
public static void main(String[] args) {
System.out.println(getExcludeSpaceCount("공백을 제외한 글자수")); //9출력
System.out.println(getExcludeSpaceCount("점프 투 자바의 연습문제 풀이")); //12출력
}
}