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:
-
Start
-
Erklære en streng
-
Bed brugeren om at initialisere den.
-
Deklarer et array til at gemme frekvensen af elementerne.
-
Deklarer variabler for minimum og maksimum forekommende tegn og tildel dem til 0.
-
Konverter strengen til et tegnarray.
-
Brug to til sløjfer til det samme.
-
Brug den første for-løkke til at gentage hvert tegn i strengen.
-
Vælg tegnene og initialiser deres tilsvarende frekvens i frekvensarrayet til 1.
-
Brug den anden for-løkke til at sammenligne det valgte tegn med resten af tegnene i strengen.
-
Brug igen to for loops til at iterere over frekvensarrayet.
-
Brug min og max variablen til at gemme antallet af minimum og maksimum forekommende tegn i strengen.
-
Gentag over løkken, og sammenlign antallet af hvert tegn gemt i freq med min og maks.
-
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.
-
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.
-
Nu vil minChar gemme det mindste tegn, og maxChar vil gemme det maksimalt forekommende tegn.
-
Udskriv minimum og maksimum forekommende tegn.
-
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:
-
Start
-
Erklære en streng
-
Initialiser det.
-
Deklarer et array til at gemme frekvensen af elementerne.
-
Deklarer variabler for minimum og maksimum forekommende tegn og tildel dem til 0.
-
Konverter strengen til et tegnarray.
-
Brug to til sløjfer til det samme.
-
Brug den første for-løkke til at gentage hvert tegn i strengen.
-
Vælg tegnene og initialiser deres tilsvarende frekvens i frekvensarrayet til 1.
-
Brug den anden for-løkke til at sammenligne det valgte tegn med resten af tegnene i strengen.
-
Brug igen to for loops til at iterere over frekvensarrayet.
-
Brug min og max variablen til at gemme antallet af minimum og maksimum forekommende tegn i strengen.
-
Gentag over løkken, og sammenlign antallet af hvert tegn gemt i freq med min og maks.
-
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.
-
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.
-
Nu vil minChar gemme det mindste tegn, og maxChar vil gemme det maksimalt forekommende tegn.
-
Udskriv minimum og maksimum forekommende tegn.
-
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