Hallo,
ich muss in der Uni Java Programmierung lernen und heisst auch dass ich noch totaler Anfänger bin. Ich bin bei irgentwie überfragt.
Ich solle eine Methode schreiben, hier die Aufgabe: mir geht es eigentlich direkt um die aufgabe b) ich bekomm einfach nicht die schleife richtig hin.
5. public static char getSignificantLetter(char [] letters, String type)
Aufgabe der Methode ist den am häugsten auftretenden Buchstaben im Feld letters zu finden.
Der Parameter type wird für eine spätere Implementierung der textuellen sowie graschen
Ausgaben benötigt.
a) Sie sollen in einem Histogramm die Häaugkeiten des Auftretens der Buchstaben festhalten.
Legen Sie dafür ein int-Feld histogram mit 256 Einträgen an, das ist namliche die Anzahl
Zeichen die in ASCII codiert werden können.
b) Iterieren Sie nun in einer geeigneten Schleife über alle Einträge von letters und inkrementieren
Sie im Histogramm den Eintrag des aktuellen Letters um eins, wobei der char
Buchstabe der Index in dem Feld histogram darstellt.
main methode
Hier ist die Methode die geschrieben habe
public static char getSignificantLetter(char [] letters, String type)
Ich bekomm das mit dem index einfach nicht hin, Zählen tut er ja richtig, aber ich will dass er in das Histogramm nur einen Buchstaben aufführt.
Für eure Hilfe wäre ich sehr Dankbar.
Grüße
Johannes
ich muss in der Uni Java Programmierung lernen und heisst auch dass ich noch totaler Anfänger bin. Ich bin bei irgentwie überfragt.
Ich solle eine Methode schreiben, hier die Aufgabe: mir geht es eigentlich direkt um die aufgabe b) ich bekomm einfach nicht die schleife richtig hin.
5. public static char getSignificantLetter(char [] letters, String type)
Aufgabe der Methode ist den am häugsten auftretenden Buchstaben im Feld letters zu finden.
Der Parameter type wird für eine spätere Implementierung der textuellen sowie graschen
Ausgaben benötigt.
a) Sie sollen in einem Histogramm die Häaugkeiten des Auftretens der Buchstaben festhalten.
Legen Sie dafür ein int-Feld histogram mit 256 Einträgen an, das ist namliche die Anzahl
Zeichen die in ASCII codiert werden können.
b) Iterieren Sie nun in einer geeigneten Schleife über alle Einträge von letters und inkrementieren
Sie im Histogramm den Eintrag des aktuellen Letters um eins, wobei der char
Buchstabe der Index in dem Feld histogram darstellt.
main methode
Java:
public static void main(String[] args) {
String string = "Hallo";
char [] hallo = string.toCharArray();
char anzahl = getSignificantLetter(hallo, null);
System.out.println();
}
}
Hier ist die Methode die geschrieben habe
public static char getSignificantLetter(char [] letters, String type)
Java:
public static char getSignificantLetter(char [] letters, String type){
int [] histogram = new int[256];
for (int i = 0 ; i < letters.length ; i++){
for(int j = 0; j < letters.length ; j ++){
if(letters[i] == letters[j] ){
histogram[i]++;
}
}
}
for(int l = 0; l < histogram.length ; l++){
System.out.println("" +histogram[l]); // Ausgabe 11221, Aber will 1121
}
return 0;
}
Ich bekomm das mit dem index einfach nicht hin, Zählen tut er ja richtig, aber ich will dass er in das Histogramm nur einen Buchstaben aufführt.
Für eure Hilfe wäre ich sehr Dankbar.
Grüße
Johannes