Hallo alle zusammen,
Ich hab keine Ahnung, wie ich mein Problem in einen Titel bringen soll, noch welches Präfix ich anhängen muss.
Wir sollen momentan ein Mitarbeiterverwaltungsprogramm schreiben. Wobei wir vier Klassen haben.
Bevor ich den Code poste. Die meisten Methoden in den Klassen werden bis jetzt noch nicht verwendet. Es geht mir lediglich darum, dass ich in der Klasse "Aufgabe" pv.listMitarbeiter(size) durchführen will. Nun soll mir das Programm dieses "size" über "PersonalVerwaltung" zur "MitarbeiterListe" bringen und dort mit Hilfe einer For-Schleife und der toString-Methode im Objekt "Mitarbeiter" die drei eingespeicherten Mitarbeiter ausgeben. Ich hoffe soweit verständlich
[Java]import java.util.Scanner;
public class Aufgabe {
public static void main(String[] args) {
System.out.println("Größe des Arrays angeben: ");
Scanner sc = new Scanner(System.in);
int size = sc.nextInt();
PersonalVerwaltung pv = new PersonalVerwaltung(size);
Mitarbeiter m1 = new Mitarbeiter("Josef Maier");
pv.addMitarbeiter(m1);
Mitarbeiter m2 = new Mitarbeiter("Franz Huber");
pv.addMitarbeiter(m2);
Mitarbeiter m3 = new Mitarbeiter("Werner Müller");
pv.addMitarbeiter(m3);
pv.listMitarbeiter(size);
}
}[/Java]
[Java]public class PersonalVerwaltung {
private int size;
public PersonalVerwaltung(int size)
{
this.size = size;
}
MitarbeiterListe ml = new MitarbeiterListe(size);
public void addMitarbeiter(Mitarbeiter m)
{
ml.add(m);
}
public void listMitarbeiter(int size)
{
ml.listMitarbeiter(size);
}
}[/Java]
[Java]import java.util.Scanner;
public class MitarbeiterListe {
private static int anz = 0;
private static int size;
public MitarbeiterListe(int size)
{
this.size = size;
}
Mitarbeiter[] liste = new Mitarbeiter[size];
public int getSize()
{
return anz;
}
public boolean add(Mitarbeiter m)
{
if(anz == size)
return false;
liste[anz++] = m;
return true;
}
public Mitarbeiter get(int Index)
{
if(Index < 1 || Index > anz)
return null;
else
return liste[Index];
}
public Mitarbeiter set(int Index, Mitarbeiter m)
{
if(liste[Index] == null)
return null;
else
{
liste[Index] = m;
return m;
}
}
public boolean remove(Mitarbeiter m)
{
for(int i = 0; i <= size; i++)
{
if(m.getId() == liste.getId())
{
liste = null;
return true;
}
}
return false;
}
public void listMitarbeiter(int size)
{
for(int i = 0; i < size; i++)
{
System.out.println(liste.toString());
}
}
}[/Java]
[Java]public class Mitarbeiter {
private int id = 0;
private String name;
public Mitarbeiter(String name)
{
setName(name);
setId();
}
public void Mitarbeiter(String name)
{
setName(name);
setId();
}
public void setId()
{
id++;
}
public void setName(String name)
{
this.name = name;
}
public String getName()
{
return name;
}
public int getId()
{
return id;
}
public String toString()
{
return "Name: " + name + "\t ID: " + id;
}
}[/Java]
Es is echt viel zu lesen, tut mir leid
Die Sache is nun die: Wenn ich das Programm starte, kommt folgender Fehler-Code:
Ich hab keine Ahnung, wie ich mein Problem in einen Titel bringen soll, noch welches Präfix ich anhängen muss.
Wir sollen momentan ein Mitarbeiterverwaltungsprogramm schreiben. Wobei wir vier Klassen haben.
Bevor ich den Code poste. Die meisten Methoden in den Klassen werden bis jetzt noch nicht verwendet. Es geht mir lediglich darum, dass ich in der Klasse "Aufgabe" pv.listMitarbeiter(size) durchführen will. Nun soll mir das Programm dieses "size" über "PersonalVerwaltung" zur "MitarbeiterListe" bringen und dort mit Hilfe einer For-Schleife und der toString-Methode im Objekt "Mitarbeiter" die drei eingespeicherten Mitarbeiter ausgeben. Ich hoffe soweit verständlich
[Java]import java.util.Scanner;
public class Aufgabe {
public static void main(String[] args) {
System.out.println("Größe des Arrays angeben: ");
Scanner sc = new Scanner(System.in);
int size = sc.nextInt();
PersonalVerwaltung pv = new PersonalVerwaltung(size);
Mitarbeiter m1 = new Mitarbeiter("Josef Maier");
pv.addMitarbeiter(m1);
Mitarbeiter m2 = new Mitarbeiter("Franz Huber");
pv.addMitarbeiter(m2);
Mitarbeiter m3 = new Mitarbeiter("Werner Müller");
pv.addMitarbeiter(m3);
pv.listMitarbeiter(size);
}
}[/Java]
[Java]public class PersonalVerwaltung {
private int size;
public PersonalVerwaltung(int size)
{
this.size = size;
}
MitarbeiterListe ml = new MitarbeiterListe(size);
public void addMitarbeiter(Mitarbeiter m)
{
ml.add(m);
}
public void listMitarbeiter(int size)
{
ml.listMitarbeiter(size);
}
}[/Java]
[Java]import java.util.Scanner;
public class MitarbeiterListe {
private static int anz = 0;
private static int size;
public MitarbeiterListe(int size)
{
this.size = size;
}
Mitarbeiter[] liste = new Mitarbeiter[size];
public int getSize()
{
return anz;
}
public boolean add(Mitarbeiter m)
{
if(anz == size)
return false;
liste[anz++] = m;
return true;
}
public Mitarbeiter get(int Index)
{
if(Index < 1 || Index > anz)
return null;
else
return liste[Index];
}
public Mitarbeiter set(int Index, Mitarbeiter m)
{
if(liste[Index] == null)
return null;
else
{
liste[Index] = m;
return m;
}
}
public boolean remove(Mitarbeiter m)
{
for(int i = 0; i <= size; i++)
{
if(m.getId() == liste.getId())
{
liste = null;
return true;
}
}
return false;
}
public void listMitarbeiter(int size)
{
for(int i = 0; i < size; i++)
{
System.out.println(liste.toString());
}
}
}[/Java]
[Java]public class Mitarbeiter {
private int id = 0;
private String name;
public Mitarbeiter(String name)
{
setName(name);
setId();
}
public void Mitarbeiter(String name)
{
setName(name);
setId();
}
public void setId()
{
id++;
}
public void setName(String name)
{
this.name = name;
}
public String getName()
{
return name;
}
public int getId()
{
return id;
}
public String toString()
{
return "Name: " + name + "\t ID: " + id;
}
}[/Java]
Es is echt viel zu lesen, tut mir leid
Die Sache is nun die: Wenn ich das Programm starte, kommt folgender Fehler-Code:
Code:
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0
at MitarbeiterListe.listMitarbeiter(MitarbeiterListe.java:70)
at PersonalVerwaltung.listMitarbeiter(PersonalVerwaltung.java:22)
at Aufgabe.main(Aufgabe.java:19)