# Stundenplan mit einem Array erstellen



## RS11 (7. Dez 2013)

Hallo zusammen, 

ich bin totaler Anfänger was das programmieren betrifft und aus diesem Grund komme ich bei einer Aufgabe einfach nicht weiter. Wir sollen einen Stundenplan mithilfe eines zweidimensionalen Feldes erstellen (also a) die Deklaration) und dann das Feld füllen. Es sollen von der Konsole Tag (MO = 0, ..., FR = 4), Zeit (8-10, 10-12, ....18-20) und der Titel (der Veranstaltung) eingeben werden und dann in das Feld übernommen werden. Für diesen Teil der Aufgabe soll auch keine Überprüfung auf Fehler oder Überschneidung vorgenommen werden. Außerdem sollen wiederholt Daten eingelesen werden, bis eine 0 eingegeben wird.
Ich habe mir als Vorlage ein Programm genommen, welches eine Tabelle ausliefert mit Bestellmengen (0. Zeile Filialnummer, 0. Spalte Aritkelnummer...), da ich keinen anderen Ansatz habe. Leider klappt es aber nicht so wirklich...

//Stundenplan

import inout.Console;

public class stundenplan
{
  public static void main(String args[])
  {
    int[][] stundenplan; int tag, zeit, weiter; int tag_anzahl = 5;
    int zeit_anzahl = 6; int positionen = 0; int titel; 
    stundenplan = new int[tag_anzahl + 1][zeit_anzahl + 1];

    for (int i = 0; i < stundenplan.length; i++)
        for (int j = 0; j < stundenplan[0].length; j++) 
        stundenplan_[j] = 0;
    do
    {
    System.out.print("Geben Sie bitte den Tag der Veranstaltung als Zahl ein (Mo = 0, ..., Fr = 4): ");
    tag = Console.readInt();
    System.out.println("Geben Sie bitte den Titel ein: ");
      titel = Console.readInt();
      System.out.println("Geben Sie bitte die Zeit ein (0 = 8-10, 1 = 10-12, ...): ");
    zeit = Console.readInt();
      positionen = positionen + 1;
      stundenplan[tag][zeit] = titel;
      stundenplan[0][zeit] = stundenplan[0][zeit] + titel;
      titel = Console.readInt();
      System.out.println("Ende Stundeplan für Tag: " + tag);
      System.out.println("Anzahl Vorlesungen/Übungen: " + positionen);
      //Weitere Veranstaltung
      System.out.println("Weitere Veranstaltung eingeben: ");
      weiter = Console.readInt();
    } while(weiter == 1);

    System.out.println();
    System.out.println("                                  Stundenplan");
    //Ausgabe Tag
    System.out.println("\t");
    for (int i = 1; i < stundenplan.length; i++)
    System.out.print("\t" + i);
    //Ausgabe Linie                                             
    System.out.println();
    for (int i = 1; i <= stundenplan.length; i++)
        System.out.print("_____________");
        System.out.println();
    // Ausgabe des eigentlichen Stundenplans
    for (int j = 1; j < 5 + 1; j++) 
    {
      //Ausgabe der Zeit
      System.out.print(j + "\t");
      //Ausgabe der Veranstaltung für die Zeit
      for (int i = 1; i <= tag_anzahl; i++)
      System.out.print(stundenplan[j] + "\t"); 
    }
    //Ausgabe Linie
    System.out.println();
    for (int i = 1; i <= stundenplan.length; i++) 
    System.out.print("_____________");
    System.out.println();
  }
}                      

Ich hoffe mir kann jemand helfen. Vllt kann man das Ganze auch wesentlich einfacher und kürzer realisieren, ich bin mir aber ziemlich sicher, dass es mit einer for-Schleife umgesetzt werden sollte.

MfG und ein schönes Wochenende

RS11_


----------



## nomuri (8. Dez 2013)

Bitte benutze die 
	
	
	
	





```
Tags damit man deinen code vernünftig lesen kann.
```


----------



## RS11 (8. Dez 2013)

```
//Stundenplan
import inout.Console;

public class stundenplan
{
  public static void main(String args[])
  {
    int[][] stundenplan; int tag, zeit, weiter; final int tag_anzahl = 5;
    final int zeit_anzahl = 6; int positionen = 0; int titel; 
    stundenplan = new int[tag_anzahl + 1][zeit_anzahl + 1];
    
    for (int i = 0; i < stundenplan.length; i++)
        for (int j = 0; j < stundenplan[0].length; j++) 
        stundenplan[i][j] = 0;
    do
    {
    System.out.print("Geben Sie bitte den Tag der Veranstaltung als Zahl ein (Mo = 0, ..., Fr = 4): ");
    tag = Console.readInt();
    System.out.println("Geben Sie bitte den Titel ein: ");
      titel = Console.readInt();
      System.out.println("Geben Sie bitte die Zeit ein (0 = 8-10, 1 = 10-12, ...): ");
    zeit = Console.readInt();
      positionen = positionen + 1;
      stundenplan[tag][zeit] = titel;
      stundenplan[0][zeit] = stundenplan[0][zeit] + titel;
      titel = Console.readInt();
      System.out.println("Ende Stundeplan für Tag: " + tag);
      System.out.println("Anzahl Vorlesungen/Übungen: " + positionen);
      titel = Console.readChar();
      //Weitere Veranstaltung
      System.out.println("Weitere Veranstaltung eingeben: ");
      weiter = Console.readInt();
    } while(weiter == 1);
    
    System.out.println();
    System.out.println("                                  Stundenplan");
    //Ausgabe Tag
    System.out.println("\t");
    for (int i = 1; i < stundenplan.length; i++)
    System.out.print("\t" + i);
    //Ausgabe Linie                                             
    System.out.println();
    for (int i = 1; i <= stundenplan.length + 1; i++)
        System.out.print("___________");
        System.out.println();
    // Ausgabe des eigentlichen Stundenplans
    for (int j = 1; j < stundenplan.length + 1; j++) 
    {
      //Ausgabe der Zeit
      System.out.print(j + "\t");
      //Ausgabe der Veranstaltung für die Zeit
      for (int i = 1; i <= tag_anzahl; i++)
      System.out.print(stundenplan[i][j] + "\t"); 
    }
    //Ausgabe Linie
    System.out.println();
    for (int i = 1; i <= stundenplan.length; i++) 
    System.out.print("_____________");
    System.out.println();
  }
}
```


----------

