Aus Array Werte rauslesen und in Kuchendiagramm abbilden

Status
Nicht offen für weitere Antworten.
P

patpat

Gast
hallo zusammen

ich hab ein problem. ich hab einen software-agenten programmiert der mittels spieltheorien diverse strategien verfolgt und diese dann in einem array abspeichert.
bsp.weise:
ich habe 3 agenten sie alle auf das selbe produkt bieten. wenn ich dieselbe auktion 100mal laufen lasse, erhalte ich am schluss ein ergebnis wie:
spieler1: 15 siege
spieler2: 25 siege
spieler3: 60 siege.

das läuft alles einwandfrei. die anzahl siege werden in einem array abgespeichert. meine frage!
wie kann ich diese werte aus dem array rauslesen und in einem kuckendiagramm graphisch darstellen...?

bin über jede hilfe dankbar

mfg patpat
 
B

Benutzername

Gast
Hallo,

poste einfach (einen Teil) deinen Code.
Dann kann man die helfen.
 

Snape

Bekanntes Mitglied
Werte aus einem Array auslesen ist ja wohl nicht das Problem. Grafische Darstellungen lassen sich z.B. mit JFreeChart realisieren.
 
P

patpat

Gast
Code:
public class Controll {
    
    //Anzahl Durchläufe festlegen
    public static int anzDurchlauf = 2;

    public static void main(String[] args) {
        Auswertung run = new Auswertung();
        Auswertung[] result = new Auswertung[anzDurchlauf];
        
        for(int i=0;i<anzDurchlauf;i++) {
            //Eine Auktion anlegen
            Auktion amdProzi = new Auktion(120.00, "Athlon 2600+", 10000);
            
            //Merken wir uns die 'wirkich verstrichene Zeit'
            long startZeit;
            
            //Drei Bieter für die Auktion vorsehen
            Bieter[] teilnehmer = new Bieter[3];
            teilnehmer[0] = new Bieter(20.50, amdProzi, "Bieter 1");
            teilnehmer[1] = new Bieter(1.35, amdProzi, "Bieter 2");
            teilnehmer[2] = new Bieter(5.25, amdProzi, "Bieter 3");                    
            
            //Thread-Array in der Groesse der Anzahl Bieter bereitstellen.
            //Wird gebraucht, um die einzelnen Threads zu starten und stoppen
            //(Siehe Klasse Auktion, Methoden startAuktion(...) und stopAuktion(...)            
            Thread[] threadArray = new Thread[teilnehmer.length];
            
            //Die Auktion starten
            threadArray = amdProzi.startAuktion(teilnehmer);
            startZeit = System.currentTimeMillis();
            
            //main-Thread für die Auktionsdauer schlafen legen
            try{
                Thread.sleep(amdProzi.auktionsDauer);
            }catch(InterruptedException e){
                System.out.println(e.toString());
            }
            //Auktion beenden
            amdProzi.stopAuktion(threadArray);
            //Ergebnis der Auktion ausgeben
            amdProzi.auktionsEnde(teilnehmer, (System.currentTimeMillis())-startZeit, i, run, result);            
        }
        //Auswertung
        int[] gebote = new int[3];
        int[] gewonnen = new int[3];
        double[] preis = new double[3];
        
        for(int j=0;j<result.length;j++) {
            if (result[j].bieter.equals("Bieter 1")) {
                gebote[0] += result[j].gebote;
                gewonnen[0] += 1;
                preis[0] += result[j].preis;
            } else if (result[j].bieter.equals("Bieter 2")) {
                gebote[1] += result[j].gebote;
                gewonnen[1] += 1;
                preis[1] += result[j].preis;
            } else if (result[j].bieter.equals("Bieter 3")) {
                gebote[2] += result[j].gebote;
                gewonnen[2] += 1;
                preis[2] += result[j].preis;
            }
        }
        
        DecimalFormat df = new DecimalFormat(".00");
        
        
        System.out.println("\n\nAnzahl Auswertungen: " +anzDurchlauf);
        System.out.println("Bieter 1 hat "+gewonnen[0]+" | Mal gewonnen. Durchschnitt: "+df.format(preis[0]/gewonnen[0])+ " | Gebote: "+ gebote[0]);
        System.out.println("Bieter 2 hat "+gewonnen[1]+" | Mal gewonnen. Durchschnitt: "+df.format(preis[1]/gewonnen[1])+ " | Gebote: "+ gebote[1]);
        System.out.println("Bieter 3 hat "+gewonnen[2]+" | Mal gewonnen. Durchschnitt: "+df.format(preis[2]/gewonnen[2])+ " | Gebote: "+ gebote[2]);      
    }

}//End of Controll
 

Sky

Top Contributor
Ich musste sowas auch mal machen... dass sah ungefähr so aus:
Code:
class JArcDig extends JComponent {
  // Die anzuzeigenden Werte
  int[] array;

  // Die anzuzeigenden Farben
  Color[] colors = {Color.decode( "#ff00ff" ),
      Color.decode( "#ff0000" ),
      Color.decode( "#00ff00" ),
      Color.decode( "#f0f0f0" )};

  // Die Gesamtsumme der anzuzeigenden Werte
  int summe;

  // Konstruktor
  public JArcDig( int[] array ) {
    this.array = array;

    // Gesamtsumme ermitteln
    for ( int i = 0; i < array.length; i++ ) {
      summe += array[i];
    }
  }

  public void paint( Graphics g ) {
    super.paint(g);
    int start = 0;
    int arc = 0;
    for ( int i = 0; i < array.length; i++ ) {
      g.setColor( colors[i] );
      arc = ( ( array[i] * 360 ) / summe ) ;
      g.fillArc( 25, 25, 350, 350, start, arc );
      start += arc;
    }
  }

  public Dimension getPreferredSize() {
    return new Dimension( 400, 400 );
  }

}
 
P

patpat

Gast
klingt ja alles gut und recht, doch leider hab ich noch nie was von JFreeChart gehört.....schreibt mir das auch gleich den source-code dazu?

ja, wie du siehst ist das auslesen bzw. einlesen in ein array nicht die schwierigkeit.....
 

Snape

Bekanntes Mitglied
patpat hat gesagt.:
klingt ja alles gut und recht, doch leider hab ich noch nie was von JFreeChart gehört.....schreibt mir das auch gleich den source-code dazu?

Nein. Das ist eine Bibliothek, die Du frei verwenden kannst. Jede Art von Graphen, Diagrammen usw. sind damit möglich.
 

Sky

Top Contributor
patpat hat gesagt.:
klingt ja alles gut und recht, doch leider hab ich noch nie was von JFreeChart gehört.....schreibt mir das auch gleich den source-code dazu?

Wenn's ansonsten nur das eine Diagramm ist, so siehe oben mein Source-Code. Hatte ich damals geschrieben, weil ich JFreeChart damals nicht kannte... erfüllt aber auch ganz gut seinen Zweck.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
S Bestimmte werte aus einem Array löschen Java Basics - Anfänger-Themen 2
E Reihenfolge der Werte umdrehen (mittels statischem int-Array Java Basics - Anfänger-Themen 3
A CSv.Datei einlesen und die werte in zweidemosional Int Array speichern Java Basics - Anfänger-Themen 9
Chris.089 2 Werte im Array tauschen Java Basics - Anfänger-Themen 6
Igig1 Wie lasse ich dir Werte in einem Array zusammenrücken? Java Basics - Anfänger-Themen 4
Igig1 Welche Werte sind als default Werte in einem Array, der als Datentyp eine Klasse hat? Java Basics - Anfänger-Themen 1
sashady ursprüngliche Array-Werte bei erneutem Aufruf? Java Basics - Anfänger-Themen 7
E In Array Werte einfügen? Java Basics - Anfänger-Themen 5
HighLife Bestimmte Werte aus Array zählen Java Basics - Anfänger-Themen 15
G Array Werte addieren Java Basics - Anfänger-Themen 4
J Methoden Frage: Array-Werte in anderer Methode ändern Java Basics - Anfänger-Themen 4
C Array-Werte werden gemischt, ohne Logik Java Basics - Anfänger-Themen 2
L 2 Dimensional Array werte überschreiben Java Basics - Anfänger-Themen 1
K Array alle Werte aufsummieren und ausgeben Java Basics - Anfänger-Themen 6
J Neue Werte in ein Array hinzugeben Java Basics - Anfänger-Themen 8
L Wie frage ich ab, ob in einem Array, Werte doppelt vorkommen? Java Basics - Anfänger-Themen 4
Kirby.exe Fehlende Int Werte aus Array mit streams finden Java Basics - Anfänger-Themen 19
Ellachen55 Wie nach häufigste Werte im Array suchen? Java Basics - Anfänger-Themen 2
B Werte aus einem Unterprogramm in ein Array schreiben Java Basics - Anfänger-Themen 2
L Nur Bestimmte Werte aus einem Array in ein anderes Speichern Java Basics - Anfänger-Themen 11
M prüfen ob alle array werte gleich sind Java Basics - Anfänger-Themen 27
D Werte aus einem BinärBaum in einem Array speichern Java Basics - Anfänger-Themen 1
L Werte zufällig aus Array zurückgeben Java Basics - Anfänger-Themen 15
L Gleiche Werte aus Array aussortieren Java Basics - Anfänger-Themen 5
L Gleiche Werte im Array hochzählen Java Basics - Anfänger-Themen 4
N Array-Werte zusammenfassen Java Basics - Anfänger-Themen 20
J Array Werte benutzen Java Basics - Anfänger-Themen 16
D Erste Schritte Array Werte an Methode übergeben Java Basics - Anfänger-Themen 6
S Array Werte vertauschen Java Basics - Anfänger-Themen 2
D Array Werte einlesen und ausgeben? Java Basics - Anfänger-Themen 8
F Werte in 2D-Array mit anderem 2D-Array überschreiben Java Basics - Anfänger-Themen 2
R Werte aus Array addieren und Mittelwert bilden Java Basics - Anfänger-Themen 2
S Werte in Array einlesen Java Basics - Anfänger-Themen 2
B Array Werte zuweisen Java Basics - Anfänger-Themen 4
U Array werte speichern und für berechnungen nutzen Java Basics - Anfänger-Themen 4
K Datentypen Werte im Array vertauschen Java Basics - Anfänger-Themen 11
J Variablen Doppelte Werte in Int Array Java Basics - Anfänger-Themen 10
stylegangsta Anzahl der gefunden array Werte ausgeben Java Basics - Anfänger-Themen 6
J Integer-Werte in Array ein- bzw. auslesen Java Basics - Anfänger-Themen 7
C Werte im Array sortieren Java Basics - Anfänger-Themen 5
A Array in Subklasse - Werte aus Superklasse Java Basics - Anfänger-Themen 4
D Array in Endlosschleife überschreibt vorherige Werte Java Basics - Anfänger-Themen 4
T Array soll Werte aufnehmen Java Basics - Anfänger-Themen 2
C Array kopieren und nur bestimmte Werte speichern Java Basics - Anfänger-Themen 6
J Werte der For-Schleife in Array abspeichern Java Basics - Anfänger-Themen 1
L [ARRAY] Werden hier die Indezes oder die Werte vergliechen? Java Basics - Anfänger-Themen 4
C Rekursion auf einem Array(negative werte addieren) Java Basics - Anfänger-Themen 4
B Doppelte Werte aus Array entfernen ohne Import - Algorithmus Java Basics - Anfänger-Themen 5
E Array Anzahl verschiedener Werte ausgeben Java Basics - Anfänger-Themen 3
M Kann einen Array nicht füllen, im Nachhinein nur "null"-Werte Java Basics - Anfänger-Themen 11
C Array - Werte speichern und ausgeben Java Basics - Anfänger-Themen 5
D Neue Array übernimmt Werte des alten nicht Java Basics - Anfänger-Themen 5
C Erste Schritte Array Werte Ausgeben Probleme mit variable Java Basics - Anfänger-Themen 21
S Array befüllen & auf doppelte werte prüfen Java Basics - Anfänger-Themen 6
M In Testklasse einem Array Werte übergeben Java Basics - Anfänger-Themen 6
B Werte über Scanner in ein 3 dim String Array schreiben Java Basics - Anfänger-Themen 7
F Einzelne Werte aus einem Array vergleichen? Java Basics - Anfänger-Themen 8
D Array auslesen und und Werte in ein anderes array anlegen Java Basics - Anfänger-Themen 5
J Integer Werte in Array einlesen Java Basics - Anfänger-Themen 6
C Erste Schritte Integer Werte in Array kopieren Java Basics - Anfänger-Themen 21
T Methoden in einer array werte vergleichen Java Basics - Anfänger-Themen 6
S Werte aus Array auslesen über Variableninhalt Java Basics - Anfänger-Themen 2
S Einzelne Werte von Array-Feld löschen Java Basics - Anfänger-Themen 15
T Beliebig viele Werte in Array zwischenspeichern Java Basics - Anfänger-Themen 15
K Erste Schritte Array mit 3 werte in eine Zeile -- Hilfe! Java Basics - Anfänger-Themen 2
T Aus object Array Double Werte ziehen Java Basics - Anfänger-Themen 10
2 Alle Werte die mit n Würfeln mit m Seiten geworfen werden können in ein n Dimensionales Array Java Basics - Anfänger-Themen 15
B Werte aus JTextArea in einem String Array ablegen Java Basics - Anfänger-Themen 4
Spin Array werte zusammenrechnen Java Basics - Anfänger-Themen 18
R array werte ausgeben/zugreifen Java Basics - Anfänger-Themen 8
D werte in array speichern Java Basics - Anfänger-Themen 26
B Datentypen Werte in einen Array einlesen und danach die beiden höchsten Werte wieder ausgeben Java Basics - Anfänger-Themen 3
B Werte aus einem Array umwandeln Java Basics - Anfänger-Themen 10
J Array Werte subtrahieren Java Basics - Anfänger-Themen 8
J int[] array Werte einem int übergeben Java Basics - Anfänger-Themen 9
M Byte Array: Werte größer 127? Java Basics - Anfänger-Themen 11
J Rekursion über int und array gibt zu wenige Werte zurück Java Basics - Anfänger-Themen 5
P doppelte Werte im Array ausgeben. Java Basics - Anfänger-Themen 4
P Werte im Array abwechselnd ausgeben Java Basics - Anfänger-Themen 4
S Char Array Werte in short variablen speichern Java Basics - Anfänger-Themen 4
G Array-Werte Zaehlung Java Basics - Anfänger-Themen 14
G Zählen gleiche Werte in Array Java Basics - Anfänger-Themen 5
X Errechte Werte automatisch in einem Array speichern Java Basics - Anfänger-Themen 11
7 Array speichert Werte nicht? NullPointerException Java Basics - Anfänger-Themen 2
M an String-Array weitere Werte anhängen Java Basics - Anfänger-Themen 22
G array werte in array2 schreiben Java Basics - Anfänger-Themen 6
G Werte im Array zählen Java Basics - Anfänger-Themen 13
G static array liefert falsche Werte zurück Java Basics - Anfänger-Themen 2
K Neue Werte für gleiche Array-Indexe Java Basics - Anfänger-Themen 16
D Werte in Array speicher Java Basics - Anfänger-Themen 8
J Verhindern das Werte in einem Array verloren gehen Java Basics - Anfänger-Themen 13
G Array werte auslesen Java Basics - Anfänger-Themen 6
F Array - Vorkommen der einzelnen Werte ausgeben Java Basics - Anfänger-Themen 8
G Dem array automatisch werte von -10 bis +10 zuweisen Java Basics - Anfänger-Themen 6
S Grösste Werte im Array! Java Basics - Anfänger-Themen 4
F Einem Array Werte zuweisen. (illegal start of expression) Java Basics - Anfänger-Themen 4
S Array Werte inkrem. Java Basics - Anfänger-Themen 2
N Mehrere Werte gleichzeitig in ein Array schreiben? Java Basics - Anfänger-Themen 7
T Array verkleinern Java Basics - Anfänger-Themen 2
J Array aus Numberfield Eingaben Java Basics - Anfänger-Themen 7

Ähnliche Java Themen

Neue Themen


Oben