Hallo!
Also, wir programmieren grade ein Programm für die Bundesjugendspiele in unserem Informatikkurs und ich bin für den Bereich GUI zuständig. In dem "provisorischem" Programm was ich hier habe gibt es 3 Klassen: Fenster, Schueler und Riege. Mein Problem ist jetzt, dass ich nicht genau weiß wie die Klassen Schueler und Riege entstanden sind und ich folglich auch nicht weiß wie das Array aufgebaut ist bzw. was da überhaupt passiert. Ich stelle mir das zumindest so vor, dass in der Klasse Riege ein Array aus Schuelern vorhanden ist. Kommen wir zu meinem eigentlich Problem....
Im Fenster gibt es 3 Textfelder mit Vorname, Name und Klasse und die sollen mit dem ersten Schueler aus der Riege gefüllt werden. Das dachte ich mir dann so:
Das klappt aber nicht, weil immer die Fehlermeldung kommt: "array required, but Riege found" und wenn ich es genauer anzeigen lasse: "You are using syntax here that suggests that you are trying to access an array element. The variable you refer to is not an array, though"!
Kann mir das mal einer erklären? Die Fehlermeldung hatte ich noch nie und versteh nicht was an meinem Code falsch ist. Danke!
P.S. Wenn benötigt kann ich ja den Quellcode der Klassen posten!
Edit:
Hier mal der Code der Klasse Riege:
Also, wir programmieren grade ein Programm für die Bundesjugendspiele in unserem Informatikkurs und ich bin für den Bereich GUI zuständig. In dem "provisorischem" Programm was ich hier habe gibt es 3 Klassen: Fenster, Schueler und Riege. Mein Problem ist jetzt, dass ich nicht genau weiß wie die Klassen Schueler und Riege entstanden sind und ich folglich auch nicht weiß wie das Array aufgebaut ist bzw. was da überhaupt passiert. Ich stelle mir das zumindest so vor, dass in der Klasse Riege ein Array aus Schuelern vorhanden ist. Kommen wir zu meinem eigentlich Problem....
Im Fenster gibt es 3 Textfelder mit Vorname, Name und Klasse und die sollen mit dem ersten Schueler aus der Riege gefüllt werden. Das dachte ich mir dann so:
Code:
schuelerVorname.setText(riege[0].getStringVorname);
schuelerName.setText(riege[0].getStringName);
schuelerKlasse.setText(riege[0].getIntKlasse);
Kann mir das mal einer erklären? Die Fehlermeldung hatte ich noch nie und versteh nicht was an meinem Code falsch ist. Danke!
P.S. Wenn benötigt kann ich ja den Quellcode der Klassen posten!
Edit:
Hier mal der Code der Klasse Riege:
Code:
import java.util.*;
import java.io.*;
public class Riege extends ArrayList
{
/**
* Constructor for objects of class Kurs
*/
Riege()
{ super();
}
public String toString()
{
String s=new String();
for(int i=0;i<this.size();i++)
{
s = s + this.get(i).toString() +"\n";
}
return s;
}
void importieren(java.awt.FileDialog openFileDialog ) throws IOException,EOFException
{ int n=0;
int j=0;
int[] buffer;
byte[] buf;
RandomAccessFile f = null;
f = new RandomAccessFile(openFileDialog.getDirectory()+"/"+openFileDialog.getFile(),"rw");
if ( f!=null )
{ n=(int) f.length();
j=n/84;
buffer = new int[n];
buf=new byte[n];
for (int i=0; i<n; i++)
{
buffer[i]=f.read();
buf[i]=(byte)buffer[i];
//System.out.println("i:"+i+"/"+buffer[i]+": "+(char)buffer[i]);
}
for(int k=0;k<j;k++)
{
String name=new String(buf,k*84+1,buf[k*84]);
String vorname=new String(buf,k*84+28+1,buf[k*84+28]);
byte kla =buf[k*84+28+28];
//String klasse=(new Integer(kla)).toString();
int klasse=(int)kla;
//String klassenindex=new String(buf,k*84+28+28+3,1);
char klassenindex=(char)buf[k*84+28+28+3];
byte a =buf[k*84+28+28+4];
//String alter=(new Integer(a)).toString();
int alter=(int)buf[k*84+28+28+4] ;
byte ge=buf[k*84+28+28+4+1];
int geschlecht=(int)buf[k*84+28+28+4+1];
//System.out.println("name: "+name+" vorname:"+vorname+" klasse: "+klasse+" klassenindex: "+klassenindex+" alter: "+alter+" geschlecht: "+geschlecht);
add( new Schueler(name,vorname,klasse,klassenindex,alter,geschlecht));
}
}
f.close();
}
void laden(java.awt.FileDialog openFileDialog ) throws IOException,EOFException
{ObjectInputStream ois;
FileInputStream f = null;
f = new FileInputStream(openFileDialog.getDirectory()+"/"+openFileDialog.getFile());
if ( f!=null )
{
ois=new ObjectInputStream(f);
{ try {
while (true)
{
try {
add((Schueler)ois.readObject());
}
catch (ClassNotFoundException e) {System.out.println("ClassNotFoundException");}
}
} catch (EOFException e) { f.close(); return;}
}
}
f.close();
}
void speichern( java.awt.FileDialog saveFileDialog) throws IOException
{ ObjectOutputStream oos;
FileOutputStream f = null;
f = new FileOutputStream(saveFileDialog.getDirectory()+"/"+ saveFileDialog.getFile());
if ( f!=null )
{
oos=new ObjectOutputStream(f);
if ( oos!=null ){
for (int i=0; i<this.size(); i++)
{
System.out.println(this.get(i).toString());
oos.writeObject(this.get(i));
}
oos.flush();
}
}
f.close(); // close and free up system resource.
}
}