Brauche dringend eure Hilfe bei der Erstellung eines Kalenders

Nico K

Grünschnabel
Hallo Leute.
Ich bin Anfänger beim Programmieren und bräuchte mal eure Hilfe.
Und zwar soll ich bis nächste Woche Montag eine Art Kalender erstellen.
Es sollte möglich sein Termine bestehend aus Name (ein String), Datum (Tag, Monat, Jahr jeweils als Integer-Werte), Uhrzeit (Stunden, Minuten jeweils als Integer-Werte) und einer Beschreibung (ein String) einzugeben, zu verändern und persistent zu speichern.
Die verschiedenen Operatoren, also Termin hinzufügen, Termin löschen, Termin bearbeiten und Termine zeigen sollen durch ein Textmenü angeboten werden.
Die Eingabe der Daten und des jeweiligen Menüpunktes sollen per Tastatureingabe möglich sein und die Ausgabe der Termine in einer Art Tabelle erfolgen. Die einzigen Dinge die ich Importieren darf sind der Keyboardreader und die Operatoren für Arrays, da die Termine als Arrys gespeichert werden sollen.
Das ganze soll in der Programmierumgebung Java-Eclipse geschehen und falls mir jemand einen Code schreiben sollte bitte etwas kompliziertere Dinge per Kommentarzeile erklären (bin ja noch blutiger Anfämger :))
Da ich leider die letzten 2 Monate gesundheitlich verhindert war und mir die Dinge dadurch nicht beibringen konnte brauch ich nun eure Hilfe, da mein Chef sonst ziemlich schlecht auf mich zu sprechen sein wird und ich mein Ausbildungsplatz nicht gleich wieder verlieren will :(

MFG Nico
 

sheel

I love Asm
Also,
ich geh mal davon aus, dass du Ausgaben und Eingaben in der Konsole, if, Schleifen usw. schaffst.
Wenn nicht, bitte sagen.

Hast du schon mal eine eigene class angelegt
(außer der automatisch gemachten beim Projektanlegen)?
Sagen dir public, protected und private was?
Sagen dir ArrayList und/oder LinkedList was?
Hast du schon mal mit Dateien gearbeitet? Welche Klassen dabei verwendet?
 

Nico K

Grünschnabel
Mit if und Schleifen kenn ich mich mittelmäßig bis gut aus.
Anlegen einer class mach ich im Normallfall indem ich erst ein Projekt anlege, dann ein Package und dann eine class anlege. Public, private und protectet hab ich drauf. Zu ArrayList und LinkedList weiß ich leider gar nichts und mit Dateien habe ich noch nie gearbeitet. Wie gesagt, hab gerade erst angefangen:(
 

sheel

I love Asm
Ah, hab zuerst wohl überlesen dass du mit (puren) Arrays arbeiten sollst.
Kannst die ArrayList/LinkedList wieder vergessen :)

Als Anfang würd ich mal eine class Termin machen, mit den angegebenen Variablen.
Java:
public class Termin {
    protected String name;
    protected int tag;
    ...
}
Dazu get/set-Methoden (das kann man auch Eclipse machen lassen.
Rechte Maustaste-Source (oder Refractor, eins von beiden), dann Generate Getter/Setter)

Schritt 2, den du auch noch so schaffen kannst:
Im main eine Ausgabe wie
"Wollen sie einen Termin hinzufügen, dann drücken sie 1
Wollen sie die Termine anzeigen, dann drücken sie 2"
usw. Sowas in der Art.
Dann ein int von der Tastatur einlesen und prüfen,
ob es eine der erlaubten Möglichkeiten ist.

Zum Fertigstellen des Grundgerüsts:
In die Klasse vom main weitere (noch leere) Methoden
neuerTermin, termineAusgeben usw. rein und nach der Abfrage
im main je nach eingegebener Zahl eine dieser Methoden aufrufen.

Die Abfrage der Möglichkeiten und die Methodenaufrufe
am Besten noch in eine endlose Schleife (while(true)), und eine zusätzliche Möglichkeit
"Programm beenden, drücken sie 0", um aus der Schleife rauszukommen (break).

Fragen immer willkommen :)

PS zu "Die einzigen Dinge die ich Importieren darf...":
Wenn du nichts Dateimäßiges importieren darfst schauts schlecht aus.
Das wird nötig sein, um die Daten persistent,
also über das Programmende hinaus, gespeichert zu halten.
 

timestamp

Mitglied Käsekuchen
Eine Liste ist praktische eine Kette von Elementen.
Bei einer doppelt verketteten Liste hat jedes Element einen Zeiger auf das vorherige und einen Zeiger auf das nächste Element. Bei einer einfach verketteten Liste nur einen Zeiger auf das nächste Element.
Code:
// einfach verkettete Liste
Element_1 ---zeigt auf---> Element_2 ---zeigt auf---> .... ---zeigt auf---> Element_n

// doppelt verkette Liste
null <---zeigt auf--- Element_1 <---zeigt auf---> Element_2 <---zeigt auf---> .... <---zeigt auf---> Element_n ---zeigt auf--->null
Im Grunde genommen ist eine Liste also eine Art "dynamisches Array", da man zur Laufzeit "beliebig" (bis eben der Speicher nicht mehr mitmacht) viele Elemente in eine Liste schieben kann, wo hingegen ein Array dort ja eine feste Größe hat.

Für Dateien findest du zahlreiche Beispiele im Internet.

Mit der Liste habe ich mich jetzt auf sheels Post bezogen. Naja, auch wenn für diese Aufgabe nicht relevant, interessant ist es trotzdem :p
 
Zuletzt bearbeitet:

timestamp

Mitglied Käsekuchen
Ups, meinte natürlich dich sheel. Hatte das nur auf das s vorne geachtet und daneben getippt wer es denn jetzt mit s war :p