Hilfe: JAVA, Histogramm erstellen.

2 Antworten

Habe es jetzt soweit geschafft:

// Histogramm.java package aufgabe2;

import java.util.Scanner;

/** * Histogramm liest ganze Zahlen zwischen 1 und 6 ein und * gibt deren Häufigkeitsverteilung als Histogramm aus. * @author Denis Alic * @version TODO: 03.11.2014 */ public final class Histogramm { private Histogramm() { }

private static final Scanner EINGABE = new Scanner(System.in);

/**
 * main ist der Startpunkt des Programms.
 * @param args wird nicht verwendet.
 */
public static void main(final String[] args) {



    int[] counter = {0,0,0,0,0,0};


    //-------------------------------------------------- Zahlen einlesen
    System.out.println("Ganze Zahlen zwischen 1 und 6 eingeben "
                + "(Ende mit Strg-D):");

    while (EINGABE.hasNext()) {
        int number = EINGABE.nextInt();

        switch (number) {
            case 1:
                counter[0]++;
                break;
            case 2:
                counter[1]++;
                break;
            case 3:
                counter[2]++;
                break;
            case 4:
                counter[3]++;
                break;
            case 5:
                counter[4]++;
                break;
            case 6:
                counter[5]++;
                break;
            default: System.out.println("Falsche Eingabe wird ignoriert: " + number);


        }
    }

    System.out.println("Strg-D");

    System.out.println("Histogramm:");

    for(int i=0;i<6;i++){
        int j=0;
        while(j<counter[i]){
            if((j+1)%5 == 0){
                System.out.print("$");
            }
            System.out.print((i+1));
            j++;
        }
        System.out.print(" (" + counter[i] + ") " + "\n");
    }
    //---------------------------------------------- Histogramm ausgeben

}

}

Konsolenausgabe:

DenissMacBook:HTWG rebekka$ java aufgabe2.Histogramm

Ganze Zahlen zwischen 1 und 6 eingeben (Ende mit Strg-D):

1 1 2 2 2 3 3 3 3 4 4 5 5 5 6 7

Falsche Eingabe wird ignoriert: 7

3 5 5 5 5 5 5 5 5 6

Strg-D

Histogramm:

11 (2)

222 (3)

3333$3 (5)

44 (2)

5555$55555$55 (11)

66 (2)

Letztes Problem: Die Häufigkeit 5 wird mir sowohl als "$", als auch als weitere Zahl angezeigt, vielleicht jetzt eine Hilfestellung? Bzw. fett zu schreiben, verstehe ich nicht.

Und wo genau ist jetzt Dein Problem dafür einen Lösungsansatz zu finden?

Denkst Du wir füllen das für Dich einfach aus? Diese Anfänger Aufgabe solltest Du doch selbst hinbekommen, oder ist Dir nicht klar was ein Histogramm ist?

Zu zählen wie häufig eine Zahl vor kommt wirst Du doch wohl noch hinbekommen und die Ausgabe ist auch ein Kinderspiel.

Du kannst aber gerne Deinen bisherigen Code reinschreiben. Dann können wir gerne Tipps geben wo eventuell der Fehler liegt bzw. wo Dein Fehler im Denkansatz liegt.

Den Hauptteil Deiner Hausaufgaben musst du aber noch selbst machen.


SuperSwagBoi911  29.04.2019, 17:37

was bistn du fürn lollek, son typischer gute frage user, erstma n bisschen scheisßse labern Xd

0