Java >> Java tutorial >  >> Tag >> char

Java-program til at finde det maksimale og mindste antal tegn

I dette selvstudie lærer vi, hvordan du finder det minimum og det maksimalt forekommende tegn. Her vil vi først iterere gennem strengen og derefter beregne frekvensen af ​​hvert element. Til sidst vil vi udskrive tegnene med den højeste og den mindste frekvens. Men før du går videre, hvis du ikke er bekendt med begrebet streng, så tjek artiklen om Strings i Java.

Input: Indtast strengen:Apple

Output: Maksimal forekomst:p

Minimum forekomst:A

Program 1:Find det mindste og det maksimale forekommende tegn

I dette program vil vi se, hvordan man beregner minimum og maksimum forekommende tegn i en streng, når strengen er brugerdefineret. Her vil vi bede brugeren om at initialisere arrayet, og så finder vi ud af det minimum og maksimum, der forekommer

Algorithme:

  1. Start

  2. Erklære en streng

  3. Bed brugeren om at initialisere den.

  4. Deklarer et array til at gemme frekvensen af ​​elementerne.

  5. Deklarer variabler for minimum og maksimum forekommende tegn og tildel dem til 0.

  6. Konverter strengen til et tegnarray.

  7. Brug to til sløjfer til det samme.

  8. Brug den første for-løkke til at gentage hvert tegn i strengen.

  9. Vælg tegnene og initialiser deres tilsvarende frekvens i frekvensarrayet til 1.

  10. Brug den anden for-løkke til at sammenligne det valgte tegn med resten af ​​tegnene i strengen.

  11. Brug igen to for loops til at iterere over frekvensarrayet.

  12. Brug min og max variablen til at gemme antallet af minimum og maksimum forekommende tegn i strengen.

  13. Gentag over løkken, og sammenlign antallet af hvert tegn gemt i freq med min og maks.

  14. Hvis tælleren gemt i freq er mindre end værdien af ​​min, så gem dette tæller i min og tilsvarende tegn i minChar.

  15. Hvis tælleren gemt i freq er mere end værdien af ​​max, så gem dette tæller i max og tilsvarende tegn i maxChar.

  16. Nu vil minChar gemme det mindste tegn, og maxChar vil gemme det maksimalt forekommende tegn.

  17. Udskriv minimum og maksimum forekommende tegn.

  18. Stop

Nedenstående eksempel illustrerer implementeringen af ​​ovenstående algoritme.

//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);    
  }  
}


Indtast strengen:Find det minimum og det maksimalt forekommende tegn
Mindst forekommende tegn:F
Maksimalt forekommende tegn:m

Program 2:Find det mindste og det maksimale forekommende tegn

I dette program vil vi se, hvordan man beregner minimum og maksimum forekommende tegn i en streng, når strengen er foruddefineret i programmet.

Algorithme:

  1. Start

  2. Erklære en streng

  3. Initialiser det.

  4. Deklarer et array til at gemme frekvensen af ​​elementerne.

  5. Deklarer variabler for minimum og maksimum forekommende tegn og tildel dem til 0.

  6. Konverter strengen til et tegnarray.

  7. Brug to til sløjfer til det samme.

  8. Brug den første for-løkke til at gentage hvert tegn i strengen.

  9. Vælg tegnene og initialiser deres tilsvarende frekvens i frekvensarrayet til 1.

  10. Brug den anden for-løkke til at sammenligne det valgte tegn med resten af ​​tegnene i strengen.

  11. Brug igen to for loops til at iterere over frekvensarrayet.

  12. Brug min og max variablen til at gemme antallet af minimum og maksimum forekommende tegn i strengen.

  13. Gentag over løkken, og sammenlign antallet af hvert tegn gemt i freq med min og maks.

  14. Hvis tælleren gemt i freq er mindre end værdien af ​​min, så gem dette tæller i min og tilsvarende tegn i minChar.

  15. Hvis tælleren gemt i freq er mere end værdien af ​​max, så gem dette tæller i max og tilsvarende tegn i maxChar.

  16. Nu vil minChar gemme det mindste tegn, og maxChar vil gemme det maksimalt forekommende tegn.

  17. Udskriv minimum og maksimum forekommende tegn.

  18. Stop

Nedenstående eksempel illustrerer implementeringen af ​​ovenstående algoritme.

//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);  
    }  
}


Den indtastede streng er:Eksempel på minimum og maksimum tegn
Minimum forekommende tegn:E
Maksimalt forekommende tegn:m


Java tag