원하는 문자열을 입력 받아 그 문자열의 첫글자에 해당하는 배열에 히스토그램을 출력하는 프로그램
package p0510;
import java.util.Scanner;
public class StringHistogram {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner scan = new Scanner(System.in);
String[] histogram = new String[26];
int[] cnt = new int[26]; // 히스토그램 데이터를 카운트 하기 위한 배열
int i, j;
while (true) {
System.out.println("영문자열 26개를 입력합니다.[종료는 0입력] ");
for (i = 0; i < cnt.length; i++) {
String alph = scan.nextLine(); // 길이 갯수 만큼 입력
if (alph.equals("0")) { // 입력한 값이 0이면 종료
break;
}
histogram[i] = alph; // 입력한 값을 histogram 배열에 저장
String upper = histogram[i].toUpperCase(); // 입력한 값을 바로 대문자로 변환
char ch = upper.charAt(0); // 문자열을 입력했을 때 첫번째 값만 저장
if (ch >= 65 && ch <= 'Z') { //입력한 값이 A~Z범위안에 있으면 카운트 1증가
int minus = ch - 'A'; //입력한 값이 인덱스[]에 저장되어야하니까 입력한 값을 저장할 변수 선언
cnt[minus]++; // 출력할 "-"의 갯수 카운트
} else {
continue;
}
}
for (i = 0; i < cnt.length; i++) {
System.out.print((char) (65 + i)); // 대문자출력
System.out.print((char) (97 + i)); // 소문자출력
for (j = 0; j < cnt[i]; j++) { // 입력한 정수의 갯수만큼만 "-" 출력
System.out.print("-");
}
System.out.println();
}
}
}
}
'IT > Java' 카테고리의 다른 글
Java (배열 성적처리 프로그램) (0) | 2021.05.11 |
---|---|
Java (랜덤 배열 카드게임) (0) | 2021.05.10 |
Java (정수 입력 히스토그램) (0) | 2021.05.10 |
Java (숫자 히스토그램 만들기) (0) | 2021.05.07 |
Java (호텔 투숙객 관리 프로그램) (0) | 2021.05.07 |