0
Hilf mir den Fehler in diesem Code zu finden, ich verstehe nicht, warum es nicht funktioniert. Ich möchte alle eindeutigen Zahlen in einem Array zusammen mit ihrer Häufigkeit anzeigen (wie oft sie auftreten).Methode zum Auffinden von verschiedenen Zahlen in einem Array und ihre Häufigkeit
package myProj;
import java.util.Scanner;
public class Freq {
static boolean isRepeated(int[] temp,int zz){
int flag=0;
int l=java.util.Arrays.asList(temp).indexOf(zz);
for(int p=0;p<l;p++){
if(temp[p]==zz){
flag=flag+1;
}
}
if(flag==0){
return false;
}
else{
return true;
}
}
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
System.out.println("enter the no of array elements");
int numOfNumbers = sc.nextInt();
int arrayOfNumbers[] = new int[numOfNumbers];
for (int i = 0; i < numOfNumbers; i++) {
System.out.print("Enter the number:");
arrayOfNumbers[i] =sc.nextInt();
}
for(int i = 0; i<numOfNumbers; i++){
int z=arrayOfNumbers[i];
if(!(isRepeated(arrayOfNumbers,z))){
int count=0;
for(int j=0;j<numOfNumbers;j++){
if(arrayOfNumbers[j]==arrayOfNumbers[i]){
count=count+1;
}
else{
continue;
}
}
System.out.println("Frequency of "+arrayOfNumbers[i]+"is"+count);
}
else{
continue;
}
}
}
}
Beispiel erwartete Ausgabe für [2, 20, 11, 10, 5, 14, 47, 23, 20, 12, 11, 10]
- Frequenz von 2: 1 Frequenz von 20 : 2 Häufigkeit von 11: 2 Häufigkeit der 10: 2 Häufigkeit von 5: 1 Frequenz von 14: 1 Frequenz von 47: 1 Frequenz von 23: 1 Frequenz von 12: 1
Bitte helfen Sie meinen Code zu korrigieren anstatt neue Logik vorzuschlagen.
'indexOf()' verwendet in 'wird wiederholt()' gibt das erste Vorkommen der Zahl. Ändern Sie die Methode. –
ersetzen Sie indeOf() durch lastIndexOf() aber warum all dies für die Schleife? Was willst du tun? – esprittn
Umformuliert, um die "Frage" vor (und nach) dem Code zu stellen, und geklärte Phrasierung + Titel. – Virgil