Ich habe als Aufgabe gestellt bekommen, ein Array zu erstellen, in das ich die Daten eines Studenten einlese und abspeichere und am Ende wieder ausgebe.
Zuvor soll ich noch die Anzahl der Studenen (also die Länge des Array festlegen)
ich hab das ganze jetzt mal so gelöst:
irgendwie stimmt aber noch irgendwas mit der Speicherung der Daten in das Array bzw. mit deren Ausgabe nicht. Ich kann die Methode "GetFullName" nicht aufrufen. Dabei versteh ich auch noch nicht so ganz welche Werte ich hier übergeben soll.
Also ich Instanziiere den Studenten als Erweiterung der Klasse "Person" lese dann genau so oft Daten ein, wie ich Studenten habe und speicher sie in ein Array mit der Größe [Anzahl]
Aber wie gebe ich denn dann aus, was ich eingelesen habe? :-/
Die Ausgabe soll UNBEDINGT in einer eigenen Methode passieren nicht einfach mit "system.out.Println" nach der Instanziierung.
Zuvor soll ich noch die Anzahl der Studenen (also die Länge des Array festlegen)
ich hab das ganze jetzt mal so gelöst:
Java:
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Studenten {
/**
* @param args
*/
public static void main(String[] args) throws IOException {
BufferedReader reader = new BufferedReader(new
InputStreamReader(System.in));
System.out.print("Bitte geben Sie die Anzahl der Studenten ein ....: ");
String StringA = reader.readLine();
int Anzahl = Integer.parseInt(StringA);
Student [] StudentArray;
StudentArray = new Student [Anzahl];
for (int i= 0;i<Anzahl;i++)
{
BufferedReader reader1 = new BufferedReader(new
InputStreamReader(System.in));
System.out.print("Bitte geben Sie den Vornamen des Studenten ein ....: ");
String Vorname = reader.readLine();
BufferedReader reader2 = new BufferedReader(new
InputStreamReader(System.in));
System.out.print("Bitte geben Sie den Nachnamen des Studenten ein ....: ");
String Nachname = reader.readLine();
BufferedReader reader3 = new BufferedReader(new
InputStreamReader(System.in));
System.out.print("Bitte geben Sie die Matrikelnummer des Studenten ein ....: ");
String Matrikel = reader.readLine();
//Aufrufen der Klasse Student
Student student =new Student (Vorname, Nachname, Matrikel);
StudentArray[i]= student;
}
//Aufrufen der Methode "ausgeben"
Student.GetFullName(Student student)
}
}
class Person
{
public String Vorname;
public String Nachname;
public Person (String Nachname, String Vorname)
{
this.Vorname = Vorname;
this.Nachname = Nachname;
}
public String getFullName ()
{
return Vorname + " " + Nachname;
}
}
class Student extends Person
{
public String Matrikel;
public Student(
String Nachname,
String Vorname,
String Matrikel)
{
super (Nachname, Vorname);
this.Matrikel = Matrikel;
}
public void GetFullName(studentArray [Anzahl])
{
System.out.println(StudentArray [1]);
}
}
irgendwie stimmt aber noch irgendwas mit der Speicherung der Daten in das Array bzw. mit deren Ausgabe nicht. Ich kann die Methode "GetFullName" nicht aufrufen. Dabei versteh ich auch noch nicht so ganz welche Werte ich hier übergeben soll.
Also ich Instanziiere den Studenten als Erweiterung der Klasse "Person" lese dann genau so oft Daten ein, wie ich Studenten habe und speicher sie in ein Array mit der Größe [Anzahl]
Aber wie gebe ich denn dann aus, was ich eingelesen habe? :-/
Die Ausgabe soll UNBEDINGT in einer eigenen Methode passieren nicht einfach mit "system.out.Println" nach der Instanziierung.
Zuletzt bearbeitet: