Java >> Tutoriel Java >  >> Tag >> String

Programme Java pour trouver la fréquence du caractère dans la chaîne

Dans ce tutoriel, nous allons apprendre à compter la fréquence des caractères dans une chaîne. Cela signifie que nous compterons quel caractère est présent combien de fois dans la chaîne.

Cela peut être fait en parcourant d'abord la chaîne, puis en calculant le nombre de fois où les caractères sont apparus. Mais avant d'aller plus loin, si vous n'êtes pas familier avec le concept de chaîne, consultez l'article sur les chaînes en Java.

Entrée : Entrez la chaîne :Étudiez ce soir

Sortie : Les caractères et leurs fréquences correspondantes :

Caractères =Fréquences

S =1

t =2

u =1

d =1

y =1

T =1

o =1

n =1

je =1

g =1

h =1

Programme 1 :Compter la fréquence des caractères dans une chaîne

Dans ce programme, nous verrons comment compter la fréquence d'un caractère dans une chaîne lorsque la chaîne est prédéfinie dans le programme.

Algorithme

  1. Démarrer

  2. Déclarer une chaîne

  3. Initialisez-le.

  4. Utilisez un tableau de fréquence pour stocker la fréquence de chaque caractère.

  5. Convertir la chaîne en tableau de caractères

  6. Utilisez deux boucles for pour calculer la fréquence de chaque élément.

  7. Utilisez la première boucle for pour parcourir chaque caractère du tableau.

  8. Initialisez chaque élément du tableau de fréquences à 1.

  9. Utilisez une autre boucle for pour parcourir les caractères restants.

  10. Vérifiez l'occurrence totale de l'élément.

  11. Si l'élément se reproduit, incrémentez la valeur dans le tableau des fréquences.

  12. Définissez le tableau de caractères sur 0 pour éviter de compter les caractères visités.

  13. Imprimer les caractères et leur fréquence correspondante.

  14. Arrêtez.

Vous trouverez ci-dessous le code Java permettant de compter la fréquence des caractères dans Java String.

/*Java Program to find the frequency of characters in a string*/
public class Main  
{  
     public static void main(String[] args) 
     {  
        String str = "Study Tonight";  
        int[] freq = new int[str.length()];  
        System.out.println("The entered string is "+str);
        //Convert the given string into character array  
        char str1[] = str.toCharArray();            
        for(int i = 0; i <str.length(); i++) 
        {  
            freq[i] = 1;  
            for(int j = i+1; j <str.length(); j++) 
            {  
                if(str1[i] == str1[j])
                {  
                    freq[i]++;  
                      
                    //Set str1[j] to 0 to avoid printing visited character  
                    str1[j] = '0';  
                }  
            }  
        }            
        //Displays the characters and their corresponding frequency  
        System.out.println("Frequencies of the characters in the string are as below: "); 
        System.out.println("Characters  frequencies");  
        for(int i = 0; i <freq.length; i++) 
        {  
            if(str1[i] != ' ' && str1[i] != '0')  
                System.out.println(str1[i] + "              " + freq[i]);  
        }  
    }  
}  


La chaîne saisie est Study Tonight
Les fréquences des caractères dans la chaîne sont les suivantes :
Fréquences des caractères
S 1
t 2
u 1
d 1
y 1
T 1
o 1
n 1
i 1
g 1
h 1

Programme 2 :Compter la fréquence des caractères dans une chaîne

Dans ce programme, nous verrons comment compter la fréquence d'un caractère dans une chaîne lorsque la chaîne est définie par l'utilisateur. Ici, dans ce programme, nous demanderons à l'utilisateur d'entrer une chaîne, puis nous calculerons la fréquence des caractères dans la chaîne.

Algorithme

  1. Démarrer

  2. Déclarer une chaîne

  3. Demandez à l'utilisateur de l'initialiser.

  4. Utilisez un tableau de fréquence pour stocker la fréquence de chaque caractère.

  5. Convertir la chaîne en tableau de caractères

  6. Utilisez deux boucles for pour calculer la fréquence de chaque élément.

  7. Utilisez la première boucle for pour parcourir chaque caractère du tableau.

  8. Initialisez chaque élément du tableau de fréquences à 1.

  9. Utilisez une autre boucle for pour parcourir les caractères restants.

  10. Vérifiez l'occurrence totale de l'élément.

  11. Si l'élément se reproduit, incrémentez la valeur dans le tableau des fréquences.

  12. Définissez le tableau de caractères sur 0 pour éviter de compter les caractères visités.

  13. Imprimer les caractères et leur fréquence correspondante.

  14. Arrêtez.

Vous trouverez ci-dessous le code Java permettant de compter la fréquence des caractères dans Java String.

/*Java Program to find the frequency of characters in a string*/
import java.util.Scanner;
public class Main  
{  
     public static void main(String[] args) 
     {  
         //Take input from the user
        Scanner sc=new Scanner(System.in); 
        System.out.println("Enter the  string is: "); 
        String str = sc.nextLine();         
        int[] freq = new int[str.length()];   //Frequency array to store the frequency of each character
        //Convert the given string into character array  
        char str1[] = str.toCharArray();            
        for(int i = 0; i <str.length(); i++) 
        {  
            freq[i] = 1;  
            for(int j = i+1; j <str.length(); j++) 
            {  
                if(str1[i] == str1[j])
                {  
                    freq[i]++;  
                      
                    //Set str1[j] to 0 to avoid printing visited character  
                    str1[j] = '0';  
                }  
            }  
        }            
        //Displays the characters and their corresponding frequency  
        System.out.println("Frequencies of the characters in the string are as below: "); 
        System.out.println("Characters  frequencies");  
        for(int i = 0; i <freq.length; i++) 
        {  
            if(str1[i] != ' ' && str1[i] != '0')  
                System.out.println(str1[i] + "              " + freq[i]);  
        }  
    }  
}  


Entrez la chaîne est :Nombre de fréquences de caractères
Les fréquences des caractères dans la chaîne sont les suivantes :
Fréquences des caractères
C 2
h 1
a 2
r 3
c 2
t 2
e 3
s 1
F 1
q 1
u 2
n 2
y 1
o 1


Balise Java