Hier ist mein Applet.ToString druckt keine tatsächlichen Array-Werte in einem JApplet
public void paint(Graphics g){
super.paint(g);
Font font = new Font("monospaced", Font.BOLD, 12);
g.setFont(font);
g.setColor(Color.YELLOW);
g.fillRect(0, 105, 500, 500);
g.setColor(Color.BLACK);
g.drawString("hello", 120, 300);
for(int c = 0; c < 1;){
for(int b = 250; c < 9; b = b + 10){
g.drawString(roster[c].toString(), 10, b);
c++;
}
}
g.drawString(roster[0].toString(), 0, 250);
}
public Student[] setup(){
count = 10;
roster = new Student[count];
int x = 0; int e = 0;
int[] gtest = new int[5];
for(e = 0; e < 5; e++){
gtest[e] = 0;
}
for(x = 0; x < 31; x++){
roster[x] = new Student("", 0, gtest);
}
int[] help = new int[5];
help[0] = 84; help[1] = 85; help[2] = 86; help[3] = 87; help[4] = 88;
roster[0] = new Student("Pocket, beam", 2017, new int[] {84, 85, 84, 87, 88, 88});
roster[1] = new Student("Zuckerberg, Marcus", 2017, help);
roster[2] = new Student("Timelapse, Random", 2013, help);
roster[3] = new Student("Timelapse, Random2", 2013, help);
roster[4] = new Student("Timelapse, Random3", 2016, help);
roster[5] = new Student("god, not", 2016, help);
roster[6] = new Student("Webster, Jacques", 2016, help);
roster[7] = new Student("East, Kanayo", 2016, help);
roster[8] = new Student("Blue, Canoe", 2017, help);
roster[9] = new Student("West, East", 2017, help);
return(roster);
}
ich den spezifischen Code als auch geklebt, ist die .toString
im Verfahren Graphics.
Hier ist meine toString
Methode innerhalb der Konstruktorklasse.
public String toString(){
DecimalFormat tens = new DecimalFormat("0.00");
String ans = String.format("%-20s%-8s %-5s%-5s%-5s%-5s%-5s%-10s", name, year,
grades[0], grades[1], grades[2], grades[3], grades[4], tens.format(gpa));
return(ans);
}
Deshalb glaube ich, das Problem mit der ist, wie ich rufe .toString
hat mein googeln gezeigt, dass ich angeblich java.util.Arrays
zu benutzen? Ich habe das versucht und ich kann nicht herausfinden, was falsch ist. Ich weiß, es ist ein einfacher Syntaxfehler, aber ich kann nicht herausfinden, was es ist.
Was passiert ist, dass die Dienstplannummern auf die Applet gedruckt werden, aber alle Werte sind 0,00 oder 0 oder was auch immer 0 in ihren jeweiligen Formaten.
Auch repaint()
in meinem actionperformed
Methode
Haben Sie versucht, repaint() aufrufen? –
Ich tat, es ist in meiner actionperformed Methode – Hquad
Zum einen verursacht Ihre Schleife von x = 0 bis 31 einen Array-Index außerhalb der Grenzen, da das Roster-Array nur Größe 10 ist. – pacifier21