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
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