drei- und mehrdimensionales Array deklarieren

Joy

Mitglied
Hallo!
Ich habe ein Problem: Wie ich ein- und zweidimensionale Arrays deklariere, weiß ich und funktioniert auch.
Hier ein Beispiel:
Java:
//EinDim
private String [] nummer = new String [2];

//ZweiDim
private String [][] dienst = new String [4][4];

//DreiDim
private String [][][] dienstplan = new String [4][4][4];
soweit funktioniert es auch. Aber wenn ich daten hinterlegen will, hängt es irgendwie.. 🙁
Ich möchte (aus einer GUI ausgelesen) die MitarbeiterNr, die Dienstart und den Wochentag hinterlegen. Nur wie realisiere ich das??

Könnt ihr mir da helfen?
 
Was funktioniert denn nicht?

Ansonsten:

Keine Arrays verwenden, benutz Listen und Objekte.
Java:
class Mitarbeiter {
  int nr;
  String dienstart;
  public Mitarbeiter(int nr, String dienstart) {
    this.nr = nr;
    this.dienstart = dienstart;
  }
  // Getters and Setters
}

List<Mitarbeiter> l = new ArrayList<Mitarbeiter>();
l.add(new Mitarbeiter(1, "Irgendwas");
 
Ich muss das nur mit Arrays machen. Hab jetzt noch was verändert, jetzt funktioniert das abspeichern.

Nur der erste Array ist doch 0 sozusagen. Wenn ich jetzt den dreidimensionalen hab und die Werte wie folgt ablegen will, wie mache ich das dann?

{{MitarbeiterNr, Dienst, Wochentag} ..... }

So:
Java:
dienstplan [0][0][0] = {MitarbeiterNr, Dienst, Wochentag};
funktioniert es ja nicht... 🙁
 
Zuletzt bearbeitet:
Ich glaube du hast bei den Arrays was falsch verstanden. Du hast einen Mitarbeiter und der hat 3 Eigenschaften. Dafür brauchst du lediglich ein 2 Dimensioanles Array.

Mitarbeiter 1: "2454", "Azubi", "Montag"
Mitarbeiter 2: "6743", "Chef", "Dienstag"

Java:
private String [][] dienst = new String [4][3];
//...
dienst[0][0] = "2454";
dienst[0][1] = "Azubi";
dienst[0][2] = "Montag";
dienst[1][0] = "6743";
//...
 
Mitarbeiter 1: "2454", "Azubi", "Montag", "Team"
Mitarbeiter 2: "6743", "Chef", "Dienstag", "alleine"

Java:
private String [][] dienst = new String [4][4];
//...
dienst[0][0] = "2454";
dienst[0][1] = "Azubi";
dienst[0][2] = "Montag";
dienst[0][3] = "Team";
dienst[1][0] = "6743";
//...
 
Du kannst das auch ein bisschen dynamischer machen:

Java:
public static final int anzahlMitarbeiter = 200;
public static final int anzahlEigenschaften = 4;

private String [][] dienst = new String [anzahlMitarbeiter][anzahlEigenschaften];

Du musst nur auf passen, da du die Anzahl der Eigenschaften/Mitarbeiter nich während der Laufzeit ändern kannst.
 
Vielleicht ist das die die Lösung für die Aufgabe, aber ansonsten wäre das ziemlich.... Murks. Mach eine Mitarbeiter-Klasse. Auch die kann man in Arrays legen...

mitarbeiter[0] = new Mitarbeiter(....);
 
Wozu denn ein mehrdimensionales Array?
Einfach ein Array von Mitarbeiter, in die Klasse Mitarbeiter kommen dann getter für die Infos die dich interessieren.

Edit: Das was Marco sagt.
 

Zurück
Oben