これは私のアプレットです。toStringは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);
}
私は.toString
がグラフィック方法であり、同様に特定のコードを貼り付けました。
ここに私のtoString
メソッドがコンストラクタクラス内にあります。
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);
}
だから私は、問題は私が.toString
を呼んでいる方法であると信じて、私のグーグルでは、私はjava.util.Arrays
を使用するようになってることが示されていますか?私はそれを試みましたが、何が間違っているのか分かりません。私はその単純な構文エラーを知っていますが、私はそれが何であるかを選ぶことはできません。
アプレットにはロスタ番号が印刷されますが、すべての値はそれぞれの形式で0または0またはすべて0です。またrepaint()
がsetup
機能で私のactionperformed
方法
あなたは)(再描画を呼び出そうとしましたか? –
私はそれを実行したのですが、それは私の実行したメソッドです – Hquad
x = 0から31までのループは、配列のインデックスが範囲外になっているためです。 – pacifier21