Java-program til at tælle antallet af forekomst af et element
I denne øvelse lærer vi, hvordan man finder forekomsten af et element i en matrix. Men før du går videre, hvis du ikke er bekendt med begreberne for arrayet, så tjek artiklen Arrays in Java.
Input: 3 2 1 4 5 6 3 7
Output:
Element, der skal søges i:3
Forekomsten af elementet:2
Program 1:Find forekomsten af et element i et array
I denne metode vil vi se, hvordan man finder forekomsten af hvert element i et array ved hjælp af loops.
Algorithme
- Start
- Deklarer matrixstørrelsen.
- Bed brugeren om at initialisere matrixstørrelsen.
- Deklarer arrayet.
- Bed brugeren om at initialisere array-elementerne.
- Indtast det element, hvis frekvens du vil vide.
- Deklarer en forekomstvariabel og initialiser den til 0.
- Brug af en for-løkke gennem alle elementerne i arrayet.
- Hvis elementet matches med matrixelementet, skal forekomsten øges.
- Udskriv forekomsten af hvert element.
- Stop
Nedenstående program viser, hvordan man finder forekomsten af hvert element i et array ved hjælp af loops.
/*Java Program to find the occurence of each element in an array*/
import java.util.*;
import java.util.Arrays;
//Driver Code
public class Main
{
public static void main(String args[])
{
Scanner sc=new Scanner(System.in);
int n; //Declare array size
System.out.println("Enter the total number of elements ");
n=sc.nextInt(); //Initialize array size
int arr[]=new int[n]; //Declare array
System.out.println("Enter the elements of the array ");
for(int i=0; i<n ;i++) //Initialize array
{
arr[i]=sc.nextInt();
}
//Enter the element whose frequency you want to know
System.out.println("Enter the element whose frequency you want to know");
int ele=sc.nextInt();
int occ=0;
// Traverse through map and check frequencies
for(int i=0;i<n;i++)
{
if(ele==arr[i])
{
occ++; //Increment the occurrence once the element is found
}
}
//Print the element and its frequency
System.out.println(ele+" occurred "+occ+" times ");
}
}
Indtast det samlede antal elementer 10
Indtast elementerne i arrayet 2 7 6 7 7 8 9 5 7 9
Indtast det element, hvis frekvens du vil vide 7
7 skete 4 gange
Program 2:Find forekomsten af et element i et array
I denne metode vil vi se, hvordan man finder forekomsten af hvert element i et array ved hjælp af et hashmap.
Algorithme
- Start
- Deklarer matrixstørrelsen.
- Bed brugeren om at initialisere matrixstørrelsen.
- Deklarer arrayet.
- Bed brugeren om at initialisere array-elementerne.
- Indsæt alle array-elementer i hashmap.
- Rejs gennem array-elementer og tæl frekvenser ved hjælp af en for-løkke.
- Indtast det element, hvis frekvens du vil vide.
- Gennemgå kortet igen og kontroller frekvenserne.
- Udskriv elementets frekvens.
- Stop
Nedenstående program viser, hvordan man finder forekomsten af hvert element i et array ved hjælp af et hash-kort.
/*Java Program to find the occurence of each element in an array*/
import java.util.*;
import java.util.Arrays;
//Driver Code
public class Main
{
public static void main(String args[])
{
Scanner sc=new Scanner(System.in);
int n; //Declare array size
System.out.println("Enter the total number of elements ");
n=sc.nextInt(); //Initialize array size
int arr[]=new int[n]; //Declare array
System.out.println("Enter the elements of the array ");
for(int i=0; i<n ;i++) //Initialize array
{
arr[i]=sc.nextInt();
}
Map<Integer, Integer> mp = new HashMap<>();
// Traverse through array elements and count frequencies
for (int i = 0; i < n; i++)
{
if (mp.containsKey(arr[i]))
{
mp.put(arr[i], mp.get(arr[i]) + 1);
}
else
{
mp.put(arr[i], 1);
}
}
//Enter the element whose frequency you want to know
System.out.println(“Enter the element whose frequency you want to know”);
int ele=sc.nextInt();
int occ=0;
// Traverse through map and check frequencies
for (Map.Entry<Integer, Integer> entry : mp.entrySet())
{
if(ele==entry.getKey())
{
occ=entry.getValue();
}
}
//Print the element and its frequency
System.out.println(ele+" occurred "+occ+" times ");
}
}
Indtast det samlede antal elementer 10
Indtast elementerne i arrayet 8 7 6 59 7 9 9 5 7 9
Indtast det element, hvis frekvens du vil vide 9
9 sket 3 gange