import java.util.Scanner;
import java.util.StringTokenizer;
import java.util.Vector;
public class ScannerTest {
public static void main(String[] args) {
/* 직접 애국가 1절을 키보드로 입력 받은 후
* 그중 가장 많이 나오는 단어는 무엇인지 출력하시오.
* Stringtokenizer = Enumeration 클래스와 유사(공백만 집어넣으면 공백이 한개든지, 두개든지 잡아냄)
*
* StringTokenizer st = new StringTokenizer("어 아 이 우 오"," ");
* while(st.hasMoreTokens()){
* System.out.println(st.nextToken()); // 공백이 여러개든, 한개든 추출
* } // st.countTokens()를 이용해서 잘라낸 갯수 가져옴
*
* String m = "어 아 이 우 오";
* String [] data = m.split(" ");
* for(int i=0 ; i< data.length ; i++{
* System.out.println(data[i]); // 공백을 다 찍어냄
* }
*/
Scanner sc = new Scanner(System.in);
String data = sc.nextLine();
System.out.println(data);
Vector<String> s = new Vector<>();
StringTokenizer st = new StringTokenizer(data," ");
while(st.hasMoreTokens()){
s.add(st.nextToken()); // 공백이 여러개든, 한 개든 추출해서 List의 Vector에 삽입
}
int [] arr = new int [s.size()];
for(int i = 0; i < s.size() ; i++){
for(int j = 0 ; j < s.size() ; j++){
if(s.get(i).equals(s.get(j)))
arr[i]++;
}
}
int max = 0;
String Mmax = null;
for(int i = 0; i < s.size() ; i++){
for(int j = i+1 ; j < s.size() ; j++){
if(s.get(i).equals(s.get(j)))
arr[j] = 0;
if(arr[i] > max){
max = arr[i];
Mmax = s.get(i);
}
}
if(arr[i] != 0)
System.out.println(s.get(i) + " : " +arr[i]);
}
System.out.println("가장 많이 나오는 단어 : "+ Mmax + ", " +max + "번");
}
}
- 결과