명품 자바 Programming
Chapter6 OpenChallenge
Q :
대,소문자 히스토그램 문제
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 50 51 52 53 | package app; import java.io.*; public class ABCHistogram { private int num[] = new int[26]; //A부터 Z까지 25 대=소문자 ABCHistogram() { for(int i = 0; i < 25;i++) { num[i] = 0; } } public void run() { InputStreamReader rd = new InputStreamReader(System.in); try { while(true) { int c = rd.read(); if(c == -1) break; this.counting(c); } } catch(IOException e) { System.out.println("입력 오류 발생"); } this.draw(); } public void counting(int c) { if(97 <= c && c <= 122) c = c-32; else return; for(int i = 65; i<=90; i++) { if(i == c) { num[i-65]++; //num배열 0으로 잘 초기화 됐는지 확인 } } } public void draw() { System.out.println(""); System.out.println("히스토그램을 그립니다."); for(int i=0;i<26;i++) { System.out.print((char)(i+65)); for(int j=0; j<num[i]; j++) System.out.print("-"); System.out.println(""); } } public static void main(String[] args) { ABCHistogram histo = new ABCHistogram(); histo.run(); } } | cs |
Key Point
ASCII 코드 이용
유용하셨다면 공감 버튼 ↓ 눌러주세요!
728x90
'# Language > Java' 카테고리의 다른 글
명품 JAVA 프로그래밍 6장 3번 (0) | 2018.07.21 |
---|---|
명품 JAVA 프로그래밍 6장 2번 (0) | 2018.07.21 |
명품 JAVA 프로그래밍 6장 1번 (0) | 2018.07.21 |
명품 JAVA 프로그래밍 5장 6번 (0) | 2018.07.21 |
명품 JAVA 프로그래밍 5장 5번 (0) | 2018.07.21 |
명품 JAVA 프로그래밍 5장 4번 (0) | 2018.07.21 |
명품 JAVA 프로그래밍 5장 3번 (0) | 2018.07.21 |