본문 바로가기

JAVA/JAVA

자바 예제 - 배열 : 사용자로부터 문자열을 입력받아 각각의 알파벳이 몇자 인지 판별하는 프로그램

반응형

사용자한테 문자열을 입력받아 각각의 알파벳이 몇자 인지 판별하는 프로그램



<순서>

1. a~z까지 갯수 표현 (물론 0까지 포함)

2. a~z까지 갯수 표현 (0갯수인건 포함 안함)

3. a~z까지 갯수 표현 (0갯수인건 포함 안함)

A~Z까지 갯수 표현(0갯수인건 포함 안함)


<실행 예>

입력 : apple Test

출력 : a:1, p:2, l:1, e:2, T:1, t:1


<코드1>

: a~z까지 갯수 표현 (물론 0까지 포함)


import java.util.Scanner;


class  CountLetter2{

public static void main(String[] args) {



int cnt[] = new int[26]; // 자바에서 배열을 선언하면 자동으로 모든 요소의 값이 초기화 된다

// 위에 것은 26개 모두가 0 으로 된다. 

// [0][0][0][0][0]...... 이런식으로

// 소문자를 위한 거

Scanner sc = new Scanner(System.in);

String str;

System.out.print("문자열을 입력하시오==>  ");

str = sc.nextLine();


for (int i  = 0 ; i < str.length() ; i++){

char ch = str.charAt(i); //

cnt[ch - 'a']++;

}


System.out.println("=== 각 문자의 수 ===");


for (int i = 0; i < 26 ; i++ ){

System.out.println((char)(97+i) + " : " + cnt[i]);

}

}

}



<코드2>

: a~z까지 갯수 표현 (0갯수인건 포함 안함)


import java.util.Scanner;


class  CountLetter2{

public static void main(String[] args) {


// 사용자한테 문자열을 입력받아 각각의 알파벳이 몇자 인지 판별하는 프로그램

// 예) apple Test

// a:1, p:2, l:1, e:2, T:1, t:1


int cnt[] = new int[26]; // 자바에서 배열을 선언하면 자동으로 모든 요소의 값이 초기화 된다

// 위에 것은 26개 모두가 0 으로 된다. 

// [0][0][0][0][0]...... 이런식으로

// 소문자를 위한 거

Scanner sc = new Scanner(System.in);

String str;

System.out.print("문자열을 입력하시오==>  ");

str = sc.nextLine();


for (int i  = 0 ; i < str.length() ; i++){

char ch = str.charAt(i); //

cnt[ch - 'a']++;

}


System.out.println("=== 각 문자의 수 ===");

for (int i = 0; i < 26 ; i++ ){

if(cnt[i] !=0){

System.out.println((char)(97+i) + " : " + cnt[i]);

}

}

}

}



<코드3>

a~z까지 갯수 표현 (0갯수인건 포함 안함)

A~Z까지 갯수 표현(0갯수인건 포함 안함)


import java.util.Scanner;


class  CountLetter2{

public static void main(String[] args) {


// 사용자한테 문자열을 입력받아 각각의 알파벳이 몇자 인지 판별하는 프로그램

// 예) apple Test

// a:1, p:2, l:1, e:2, T:1, t:1


int cnt[] = new int[26]; // 자바에서 배열을 선언하면 자동으로 모든 요소의 값이 초기화 된다

// 위에 것은 26개 모두가 0 으로 된다. 

// [0][0][0][0][0]...... 이런식으로

// 소문자를 위한 것


int cnt2[] = new int[26]; // 대문자의 수를 파악하기 위한 것


Scanner sc = new Scanner(System.in);

String str;

System.out.print("문자열을 입력하시오==>  ");

str = sc.nextLine();


for (int i  = 0 ; i < str.length() ; i++){

char ch = str.charAt(i); //

if (ch >= 'A' && ch <= 'Z'){ //ch >= 65 && ch <= (65+25) 와 같은말

cnt2[ch - 'A']++;

}else if (ch >= 'a' && ch <= 'z'){

cnt[ch - 'a']++;

}

}


System.out.println("=== 소문자 문자의 수 ===");

for (int i = 0; i < 26 ; i++ ){

if(cnt[i] !=0){

System.out.println((char)(97+i) + " : " + cnt[i]);

}

}


System.out.println("=== 대문자 문자의 수 ===");

for (int i = 0; i < 26 ; i++ ){

if(cnt2[i] !=0){

System.out.println((char)(65+i) + " : " + cnt2[i]);

}

}


}

}



반응형