Programmieren - alles kontrollieren 4.941 Themen, 20.715 Beiträge

Findet einer den Fehler? Ich weiß nicht mehr weiter!?? (Java)

Dominik28111 / 1 Antworten / Baumansicht Nickles

Hi,
hab die Aufgabe ein Applet zu erstellen, indem durch einen Button praktisch ein Würfel 1000 mal würfelt... dann soll in einem Balkendiagramm jeweils angezeigt werden welche Zahl wie oft gewürfelt wurde.... nun ist das bei mir aber so, dass immer nur ein balken angezeigt wird... findet einer den Fehler? Hier der programmtext:


import java.awt.*;
import java.applet.*;
import java.awt.event.*;
import java.lang.Math;

public class auswertung extends Applet implements ActionListener
{
int z1,z2,z3,z4,z5,z6,y,augenzahl;
wuerfel w1;
Button knopf;
Balken b1, b2, b3, b4, b5, b6;
Checkbox klick;
TextField eingabefeld;
Label Eingabe;
Graphics stift;


public void init ()
{
this.setLayout(null);
stift=getGraphics();
knopf = new Button ( "Würfel" );
knopf.addActionListener(this);
knopf.setBounds(400,300,70,20);
b1 = new Balken ();
b2 = new Balken ();
b3 = new Balken ();
b4 = new Balken ();
b5 = new Balken ();
b6 = new Balken ();
w1= new wuerfel ();
klick = new Checkbox ("Test");
klick.setBounds(420,259,70,20);
Eingabe = new Label ("Eingabe:");
Eingabe.setBounds(410,347,70,20);
eingabefeld = new TextField ();
eingabefeld.setBounds(400,365,70,20);
add(knopf);
add(klick);
add(eingabefeld);
add(Eingabe);

}

public void actionPerformed(ActionEvent e)
{
z1 = 0;
z2 = 0;
z3 = 0;
z4 = 0;
z5 = 0;
z6 = 0;

for(y=0;y {
w1.wuerfeln();
augenzahl = w1.lesen();
switch(augenzahl)
{
case 1:
{
z1++;
break;
}
case 2:
{
z2++;
break;
}
case 3:
{
z3++;
break;
}
case 4:
{
z4++;
break;
}
case 5:
{
z5++;
break;
}
case 6:
{
z6++;
break;
}
}
}




b1.groesseAendern(z1);
b2.groesseAendern(z2);
b3.groesseAendern(z3);
b4.groesseAendern(z4);
b5.groesseAendern(z5);
b6.groesseAendern(z6);

b1.verschieben (20,100);
b2.verschieben (50,100);
b3.verschieben (80,100);
b4.verschieben (110,100);
b5.verschieben (140,100);
b6.verschieben (170,100);

this.getGraphics().clearRect (0,0,500,500);
b1.malen(stift);
b2.malen(stift);
b3.malen(stift);
b4.malen(stift);
b5.malen(stift);
b6.malen(stift);

}

}

bei Antwort benachrichtigen
Borlander Dominik28111 „Findet einer den Fehler? Ich weiß nicht mehr weiter!?? (Java)“
Optionen

Vorweg: Die Klasse Balken dürfte nich in den Standard-Packages von Jave zu finden sein. Es wäre also nicht gänzlich aus zu schließen das diese womöglich fehlerhaft implementiert ist - halte ich aber erst mal für unwahrscheinlich...

b1.verschieben (20,100); [] ... (170,100);
Evtl. die Koordinatenachsen vertauscht - werden Balken nebeneinander (statt untereinander) angezeigt sehen sie vermutlich aus wie ein einziger Balken. ggf. mal die Parameter tauschen..

Was passiert denn wenn Du nur einen Balken zeichnen lässt?

Btw.: Warum verwendest Du eigentlich kein Array für die Balken und ganz speziell die Augenzähler (dann könnte man sich das rumswitchen nämlich sparen)?


Gruß
Borlander

bei Antwort benachrichtigen