Java >> Tutoriel Java >  >> Tag >> char

Programme Java pour trouver le caractère maximal et minimal survenant

Dans ce didacticiel, nous allons apprendre à trouver les caractères minimum et maximum apparaissant. Ici, nous allons d'abord parcourir la chaîne, puis nous calculerons la fréquence de chaque élément. Enfin, nous imprimerons les caractères avec la fréquence la plus élevée et la moins fréquente. 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 : Saisissez la chaîne :Pomme

Sortie : Occurrence maximale :p

Occurrence minimale :A

Programme 1 :Trouver le caractère d'occurrence minimum et maximum

Dans ce programme, nous verrons comment calculer les caractères minimum et maximum apparaissant dans une chaîne lorsque la chaîne est définie par l'utilisateur. Ici, nous demanderons à l'utilisateur d'initialiser le tableau, puis nous trouverons le caractère minimum et maximum apparaissant

Algorithme :

  1. Démarrer

  2. Déclarer une chaîne

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

  4. Déclarez un tableau pour stocker la fréquence des éléments.

  5. Déclarez des variables pour les caractères se produisant minimum et maximum et affectez-les à 0.

  6. Convertissez la chaîne en un tableau de caractères.

  7. Utilisez deux boucles for pour la même chose.

  8. Utilisez la première boucle for pour parcourir chaque caractère de la chaîne.

  9. Sélectionnez les caractères et initialisez leur fréquence correspondante dans le tableau de fréquence à 1.

  10. Utilisez la deuxième boucle for pour comparer le caractère sélectionné avec le reste des caractères présents dans la chaîne.

  11. Utilisez à nouveau deux boucles for pour itérer sur le tableau de fréquences.

  12. Utilisez les variables min et max pour stocker le nombre de caractères minimum et maximum apparaissant dans la chaîne.

  13. Parcourez la boucle et comparez le nombre de chaque caractère stocké dans freq avec min et max.

  14. Si le nombre stocké dans freq est inférieur à la valeur de min, alors stockez ce nombre dans le min et le caractère correspondant dans minChar.

  15. Si le nombre stocké dans freq est supérieur à la valeur de max, alors stockez ce nombre dans max et le caractère correspondant dans maxChar.

  16. Maintenant, le minChar stockera le caractère se produisant minimum et maxChar stockera le caractère se produisant maximum.

  17. Imprimer les caractères minimum et maximum apparaissant.

  18. Arrêter

L'exemple ci-dessous illustre l'implémentation de l'algorithme ci-dessus.

//Java Program to find the maximum and minimum occurring character in a string
import java.util.*;
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: ");
        String str=sc.nextLine();
      int[] freq = new int[str.length()];    
      char minChar = str.charAt(0), maxChar = str.charAt(0);    
      int i, j, min, max;            
      char string[] = str.toCharArray();    
      for(i = 0; i < string.length; i++) 
	  {    
          freq[i] = 1;    
          for(j = i+1; j < string.length; j++) 
		  {    
              if(string[i] == string[j] && string[i] != ' ' && string[i] != '0') 
			  {    
                  freq[i]++;    
                      
                  string[j] = '0';    
              }    
          }    
      }    
      min = max = freq[0];    
      for(i = 0; i <freq.length; i++) 
	  {    
          if(min > freq[i] && freq[i] != '0') 
		  {    
              min = freq[i];    
              minChar = string[i];    
          }    
          if(max < freq[i]) 
		  {    
              max = freq[i];    
              maxChar = string[i];    
          }    
      }             
      System.out.println("Minimum occurring character: " + minChar);    
      System.out.println("Maximum occurring character: " + maxChar);    
  }  
}


Entrez la chaîne :recherchez le caractère d'occurrence minimum et maximum
Caractère d'occurrence minimum :F
Caractère d'occurrence maximum :m

Programme 2 :Trouver le caractère d'occurrence minimum et maximum

Dans ce programme, nous verrons comment calculer les caractères minimum et maximum apparaissant 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. Déclarez un tableau pour stocker la fréquence des éléments.

  5. Déclarez des variables pour les caractères se produisant minimum et maximum et affectez-les à 0.

  6. Convertissez la chaîne en un tableau de caractères.

  7. Utilisez deux boucles for pour la même chose.

  8. Utilisez la première boucle for pour parcourir chaque caractère de la chaîne.

  9. Sélectionnez les caractères et initialisez leur fréquence correspondante dans le tableau de fréquence à 1.

  10. Utilisez la deuxième boucle for pour comparer le caractère sélectionné avec le reste des caractères présents dans la chaîne.

  11. Utilisez à nouveau deux boucles for pour itérer sur le tableau de fréquences.

  12. Utilisez les variables min et max pour stocker le nombre de caractères minimum et maximum apparaissant dans la chaîne.

  13. Parcourez la boucle et comparez le nombre de chaque caractère stocké dans freq avec min et max.

  14. Si le nombre stocké dans freq est inférieur à la valeur de min, alors stockez ce nombre dans le min et le caractère correspondant dans minChar.

  15. Si le nombre stocké dans freq est supérieur à la valeur de max, alors stockez ce nombre dans max et le caractère correspondant dans maxChar.

  16. Maintenant, le minChar stockera le caractère se produisant minimum et maxChar stockera le caractère se produisant maximum.

  17. Imprimer les caractères minimum et maximum apparaissant.

  18. Arrêter

L'exemple ci-dessous illustre l'implémentation de l'algorithme ci-dessus.

//Java Program to find the maximum and minimum occurring character in a string

public class Main  
{
   public static void main(String[] args) 
   {  
        String str = "Example of minimum and maximum Character";  
        System.out.println("The entered string is: "+str);
        int[] freq = new int[str.length()];  
        char minChar = str.charAt(0), maxChar = str.charAt(0);  
        int i, j, min, max;          
        //Converts given string into character array  
        char string[] = str.toCharArray();  
        //Count each word in given string and store in array freq  
        for(i = 0; i < string.length; i++) 
        {  
            freq[i] = 1;  
            for(j = i+1; j < string.length; j++) 
            {  
                if(string[i] == string[j] && string[i] != ' ' && string[i] != '0') 
                {  
                    freq[i]++;  
                      
                    //Set string[j] to 0 to avoid printing visited character  
                    string[j] = '0';  
                }  
            }  
        }  
        //Determine minimum and maximum occurring characters  
        min = max = freq[0];  
        for(i = 0; i <freq.length; i++) 
        {  
            if(min > freq[i] && freq[i] != '0') 
            {  
                min = freq[i];  
                minChar = string[i];  
            }  
            
            if(max < freq[i]) 
            {  
                max = freq[i];  
                maxChar = string[i];  
            }  
        }  
        //Print the minimum and maximum occurring characters  
        System.out.println("Minimum occurring character: " + minChar);  
        System.out.println("Maximum occurring character: " + maxChar);  
    }  
}


La chaîne saisie est :Exemple de caractère minimum et maximum
Caractère apparaissant au minimum :E
Caractère apparaissant au maximum :m


Balise Java