Gleiche Werte im Array hochzählen

Diskutiere Gleiche Werte im Array hochzählen im Java Basics - Anfänger-Themen Forum; Hallo allseits, die Aufgabe besteht darin ein Histogram für ein bestimmtes Array zu erzeugen und nun hänge ich wieder mal rum. Ich soll...

  1. Loveprogramming
    Loveprogramming Neues Mitglied
    Hallo allseits,

    die Aufgabe besteht darin ein Histogram für ein bestimmtes Array zu erzeugen und nun hänge ich wieder mal rum.

    Ich soll ausgeben, wie oft eine Zahl im Array vorkommt. Dabei darf ich keine Maps, ArrayList etc. verwenden. Sonst wäre es etwas einfacher.

    Das ist unser Array:
    Code (Java):
    int[] punkte = {30, 74, 81, 67, 95, 65};
    Die Punkte werden durch eine andere Methode die 'punkteToNote' heisst, in Noten umgewandelt. 95 Punkte wäre beispielsweise eine sehr gut (1):
    Code (Java):
    30 = Mangelhaft (5)
    74 = Befriedigend (3)
    81 = Gut (2)
    67 = Ausreichend (4)
    95 = Sehr gut (1)
    65 = Ausreichend (4)
    Die Länge des Feldes entspricht der Anzahl der Teilnehmer an der Klausur, hier also 6.
    Nun soll ein Histogramm der Noten (wieviele Klausuren eine 1 waren, wieviele eine 2 ...) erstellt werden. Hab schon vieles versucht bin aber immer daran gescheitert.

    Der Output sollte wie folgt aussehen:
    Code (Java):
    Note   Anzahl
    1        1
    2        1    
    3        1
    4        2
    5        1
    Vielen dank schonmal,
    LG
     
  2. Vielleicht helfen dir diese Grundlagen hier weiter: (hier klicken)
  3. Robat
    Robat Bekanntes Mitglied
    Was genau hast du denn versucht?
    Kleiner Ansatzpunkt: nutze ein zweites Array der selben Länge um die Häufigkeit der einzelnen Noten mitzuzählen.
     
  4. Loveprogramming
    Loveprogramming Neues Mitglied
    So habe ich es mal versucht:

    Code (Java):
    public static void histogram(int[] punkte){
           
            int ges = punkte[0];
            int note = 0;
            int count = 1, tempCount;
            int temp = 0;
           
            for(int i = 0; i < punkte.length; i++){
               
                temp = punkte[i];
                tempCount = 0;
               
                for(int j = 1; j < punkte.length; j++){
                    if(temp == punkte[j]){
                        tempCount++;
                    }
                }
               
                if(tempCount > count){
                    ges = temp;
                    count = tempCount;
                }
               
                note = punkteToNote(temp);
                System.out.println(i+1 + " " + note + " " + count);
            }


        }
    Da kommt aber immer 0 raus.
     
  5. tommysenf
    tommysenf Aktives Mitglied
    Hier mal ein Beispiel für die Note 1:

    Code (Java):
    public static void histogram(int[] punkte){
            int anzahl = 0;
            int note = 1;

            for(int i : punkte){
                if(note == punkteToNote(i)){
                    anzahl++;
                }
            }
            System.out.println(note + " " + anzahl);
        }
     
  6. truesoul
    truesoul Aktives Mitglied
    @Loveprogramming

    Das Beispiel kannst du sicher ein wenig abändern um dein gewünschtes Ergebnis zu erhalten.

    Grüße
     
  7. Hast du dir unsere Java-Grundlagen hier schon gesichert? *Klick*
Die Seite wird geladen...

Gleiche Werte im Array hochzählen - Ähnliche Themen

Gleiche Werte aus Array aussortieren
Gleiche Werte aus Array aussortieren im Forum Java Basics - Anfänger-Themen
Datenbank werte vergleichen
Datenbank werte vergleichen im Forum Datenbankprogrammierung
Werte innerhalb von resultset vergleichen
Werte innerhalb von resultset vergleichen im Forum Java Basics - Anfänger-Themen
Werte mit Prozentualer Toleranz vergleichen
Werte mit Prozentualer Toleranz vergleichen im Forum Java Basics - Anfänger-Themen
Wie vergleiche ich zwei BigInteger Werte?
Wie vergleiche ich zwei BigInteger Werte? im Forum Java Basics - Anfänger-Themen
Thema: Gleiche Werte im Array hochzählen