mojo's Blog

명품 JAVA Programming 제 6장 Open Challenge 본문

Java

명품 JAVA Programming 제 6장 Open Challenge

_mojo_ 2021. 7. 20. 00:58

영문자 히스토그램 만들기

 

텍스트를 키보드로 입력받아 알파벳이 아닌 문자는 제외하고 영문자 히스토그램을 만든다.

대문자와 소문자는 모두 같은 것으로 간주하고, 세미콜론(;)만 있는 라인을 만나면 입력의 끝으로 해석한다.

 

풀이 code

import java.util.*;

public class Main {
	
	static char []ch;
	
	static void set_Histogram() {
		ch=new char[26];
		for(int i=0;i<ch.length;i++) {
			ch[i]=0;
		}
	}
	
	static void input_String() {
		Scanner scanner = new Scanner(System.in);
		
		while(true) {
			String sentence=scanner.nextLine();
			if(sentence.length()==1 && sentence.charAt(0)==';') {
				break;
			}
			for(int i=0;i<sentence.length();i++) {
				if(sentence.charAt(i)>='A' && sentence.charAt(i)<='Z') {
					ch[sentence.charAt(i)-'A']++;
				}
				if(sentence.charAt(i)>='a' && sentence.charAt(i)<='z') {
					ch[sentence.charAt(i)-'a']++;
				}
			}
		}
		
		scanner.close();
	}
	
	static void show_Histogram() {		
		for(int i=0;i<ch.length;i++) {
			System.out.print((char)('A'+i));
			for(int j=0;j<ch[i];j++) {
				System.out.print("-");
			}
			System.out.println();
		}
	}
	
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Scanner scanner=new Scanner(System.in);
		
		System.out.println("영문 텍스트를 입력하고 세미콜론을 입력하세요.");
		set_Histogram();
		input_String();
		show_Histogram();
		
		scanner.close();
	}

}

'Java' 카테고리의 다른 글

Generic class, method  (0) 2021.07.20
vector와 HashMap, Collections 클래스의 활용  (0) 2021.07.20
Math 클래스 메소드 활용  (0) 2021.07.20
StringBuffer 클래스  (0) 2021.07.20
String 관련 메소드  (0) 2021.07.20
Comments