명품 자바 Programming
Chapter6 Ex8
Q :
ctrl - z 가 입력될 때까지 키보드로부터 문자를 일ㄺ고 사용자가 입력한 문자열에서 제일 긴 단어를 출력하는 프로그램을 작성하라. 단어는 공백으로 분리한다.
Solution
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 | package chap6ex; import java.io.*; import java.util.StringTokenizer; public class CountWord { int count = 0; String temp = ""; StringBuffer strBuffer = new StringBuffer(); public void run() { readString(); String str = strBuffer.toString(); String longest = ""; StringTokenizer strTokenizer = new StringTokenizer(str, " "); String tmp = ""; int maxLength = 0; while (strTokenizer.hasMoreTokens()) { tmp = strTokenizer.nextToken(); if (maxLength < tmp.length()) { maxLength = tmp.length(); longest = tmp; } } System.out.println("가장 긴 단어는 : " + longest); } public void readString() { InputStreamReader rd = new InputStreamReader(System.in); try { while (true) { int c = rd.read(); if (c == -1) break; strBuffer.append((char) c); } } catch (IOException e) { System.out.println("입력 에러 발생"); } } public static void main(String[] args) { CountWord countWord = new CountWord(); countWord.run(); } } | cs |
문제점
마찬가지로 엔터 키를 누르고 ctrl-z를 눌러야 합니다..
유용하셨다면 공감 버튼 ↓ 눌러주세요!
728x90
'# Language > Java' 카테고리의 다른 글
명품 JAVA 프로그래밍 7장 2번 (0) | 2018.07.22 |
---|---|
명품 JAVA 프로그래밍 7장 1번 (1) | 2018.07.22 |
명품 JAVA 프로그래밍 7장 OpenChallenge (0) | 2018.07.22 |
명품 JAVA 프로그래밍 6장 7번 (0) | 2018.07.21 |
명품 JAVA 프로그래밍 6장 6번 (0) | 2018.07.21 |
명품 JAVA 프로그래밍 6장 5번 (0) | 2018.07.21 |
명품 JAVA 프로그래밍 6장 4번 (0) | 2018.07.21 |