Q. 문장을 입력 받아, 공백으로 분리 된 어절(영단어)이 몇 개 들어 있 는지 출력하고, 각 어절(영단어) 을 사전순으로 정렬하여 출력하 시오. “exit”을 입력할 때까지 반 복하시오
문장을 입력하세요>> Split this string
around matches of the given regular
expression.
어절의 개수는 10
Split
around
expression.
given
matches
of
regular
string
the
this
문장을 입력하세요>> 우리 모두 코로나
조심!
어절의 개수는 4
모두
우리
조심!
코로나
문장을 입력하세요>> exit
import java.util.Arrays;
import java.util.Scanner;
import java.util.StringTokenizer;
public class SplitAndSort {
static void MySplit(String input) {
if(!input.contains(" ")) {
System.out.println("어절의 개수는 1");
System.out.println(input);
return;
}
String[] arr = new String[50];
int i=0;
StringTokenizer tokenInput = new StringTokenizer(input, " ");
System.out.println("어절의 개수는 " + tokenInput.countTokens());
while(tokenInput.hasMoreTokens()) {
arr[i] = tokenInput.nextToken();
i += 1;
}
String temp;
for(int j=0; j<i; j++) {
for(int k=0; k<j; k++) {
if(arr[j].charAt(0)<arr[k].charAt(0)) {
temp=arr[j];
arr[j]=arr[k];
arr[k]=temp;
}
}
}
for(int z=0; z<i; z++) {
System.out.println(arr[z]);
}
}
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String input;
while(true) {
System.out.println("문장을 입력하세요>>");
input = sc.nextLine();
if(input.equals("exit") || input.equals("")) {break;}
MySplit(input);
}
}
}
'Language > JAVA' 카테고리의 다른 글
[Java] 객체 직렬화 (0) | 2021.11.18 |
---|---|
[Java] File 클래스를 이용해 ls 명령어 출력해보기 (0) | 2021.11.18 |
[Java] 6주차 수업 예제 13번, 14번, 15번 (0) | 2021.10.08 |
[Java] 5주차 수업 예제 8번, 14번 (0) | 2021.09.30 |
[Java] 4주차 수업 예제 9번 (0) | 2021.09.24 |