Fahrtenbuch in Java schreiben

Status
Nicht offen für weitere Antworten.
G

Gast

Gast
Ich bin ein Neuling in der Javaprogrammierung und arbeite mit Eclipse SDK 3.2.2. Meine neueste Aufgabe ist die Programmierung eines Fahrtenbuches und die folgenden Dinge habe ich mir im Vorfeld überlegt:

Einteilung Projekt Fahrtenbuch in 4 eigenständige Packages
Userinterface
Logic
Entity
Persistence


User-Interface:

1. Was gibt der Nutzer ein:
- Fahrername/ Benutzername
- Auto-ID
- Grund/Zweck für die Fahrt
- km-Stand bei Fahrtantritt
- km-Stand bei Ende der Fahrt

2. Was soll mit den Daten ausgegeben werden:
- tabellarische Auflistung der verfügbaren Autos
- falls nicht verfügbar dann Ausgabe zu welchem Zweck das Auto unterwegs ist
- Auflistung der gefahrenen km für bestimmte Autos
- Auflistung der verfügbaren bzw. der im Einsatz befindlichen Fahrer


Logik/ Funktionen: (siehe aufgabenorientierte Vorbetrachtung)
-km-Stand: (km-Ende) – (km-Anfang)
-Zweck vorgeben zur Auswahl
-Auto verfügbar oder nicht
-Fahrer verfügbar oder nicht



Als Entity das Auto:
-Auto-ID
-Fahrername
-km-Stand Anfang
-km-Stand Ende
-Zweck der Fahrt
-Routennummer



Persistence:
-Speicherung der Daten

Aufgabenorientierte Vorbetrachtung:

ID–Beschreibung–„Eingabe“–„Ausgabe“
(1)–Fahrer muss Einchecken zum Losfahren–Fahrername, Fahrtzweck–Routennummer, Auto-ID
(2)–Fahrer muss gefahrene Route bestätigen–Routennummer, km-Stand zum Fahrtantritt und -ende–Fahrer, Auto-ID, Grund der Fahrt, gefahrene km, Fahrt als erledigt markiert
(3)–Chef will Übersicht über verfügbare Autos– –Auto verfügbar oder nicht
(4)–Chef will Übersicht über verfügbare Fahrer– –Fahrer verfügbar oder nicht
(5)–Chef will Übersicht über Fahrten–Auto-ID oder Fahrername oder Routennummer–Fahrten offen oder erledigt
(6)–Chef will Übersicht über bestimmten Fahrer–Fahrernummer–Verfügbar oder nicht

(7)–Chef will Übersicht über bestimmtes Auto–Auto-ID–Verfügbar oder nicht
(8)–Chef will Übersicht über die gefahrenen km je Auto– –Tabelle der km-Werte der Autos


Es geht mir in erster Linie um ein übersichtliches Userinterface(Textbasis ohne Swing). Aber ich weiß nicht wie es geht. Doch es gibt bereits in der Logik ein Interface zum Userinterface:


Java Code:
Code:
package fahrtenbuch.logik; 

public interface IFahrtenbuch 
{ 

        public void Einchecken(String Fahrername, String Zweck); 
                
        public void Bestätigen(int Routennummer, int kmStandAnfang, int kmStandEnde); 
        
        public void VerfügbareAutos(); 
        
        public void VerfügbareFahrer(); 
        
        public void ÜbersichtFahrten(int AutoID, String Fahrername,int Routennummer); 
        
        public void ÜbersichtFahrer(String Fahrername); 
        
        public void ÜbersichtAuto(int AutoID); 

        public void ÜbersichtKM(); 
        
        
}

Doch wie schreibe ich jetzt das Userinterface?
Fragment:

Java Code:
Code:
package fahrtenbuch.user; 

import Prog1Tools.IOTools;
import fahrtenbuch.logik.IFahrtenbuch;

public class Userinterface 
{ 

        public static void main(String[] args) 
        { 
                int AutoID = 0; 
                String Fahrername = ""; 
                String Zweck = ""; 
                int kmStandAnfang = 0; 
                int kmStandEnde = 0; 
                int Routennummer = 0; 
                
                System.out.print("Auto-ID"); 
                AutoID=IOTools.readInt(); 
                System.out.print("Fahrername"); 
                Fahrername=IOTools.readString(); 
                System.out.print("Zweck"); 
                Zweck=IOTools.readString(); 
                System.out.print("km-Stand Fahrtanfang"); 
                kmStandAnfang=IOTools.readInt(); 
                System.out.print("Km-Stand Fahrtende"); 
                kmStandEnde=IOTools.readInt(); 
                System.out.print("Routennummer"); 
                Routennummer=IOTools.readInt(); 
                
                        
                
       } 
         
       

}
 

waldwichtel

Aktives Mitglied
Wie wilslt du den deine Daten halten? Ich denk hier bietet es sich an Objekte von einer Klasse Fahrzeug in einer Liste zu verwalten. Diese liste um ein paar Methoden zu Abfrage der Daten erweitern und du hast ein Datenmodel. Dein interface fragt dann nur noch die Daten aus dem Interface ab oder trägt sie ein.

Also das wäre mein Ansatz. :D
 

Scotty

Aktives Mitglied
ein interface ist in java recht schnell geschrieben. wichtig ist, dass du dir zunächst im klaren bist, welche funktionen dein programm haben soll. das interface ermöglicht die kommunikation zwischen dem programm und dem anwender. dies geschieht auf konsolenbasis, ähnlich wie man das in dos kennt: der anwender stellt abfrage und erhällt anworten oder er gibt kommandos, z.B. "daten speichern", "fahrer einloggen", usw.

beispiel: der chef will nach den verfügbaren autos fragen. dazu gibt er ein
Code:
?available car <number>
und erhällt die antwort
Code:
yes|no
oder im sonderfall, wenn keine nummer angegeben ist alle verfügbaren autos.

beispiel: der fahrer will losfahren und muss einchecken. dazu gibt er ein
Code:
!checkin driver <name>
. daruafhin muss er die benötigten infos eingeben, er wird also vom system gefragt
Code:
:enter your reason
und das system wartet auf die eingabe. er tippt ein
Code:
!transport some packages from A to B
. das system fragt
Code:
:enter your route number
und der fahrer antwortet
Code:
!12345
. das system fragt
Code:
:enter your car id
und der fahrer tippt ein
Code:
9
. das system bestätigt die eingaben mit
Code:
:your data has been entered successfully. you can drive now.
.

also nur mal als beispiel. das interface sämtliche funktionen übernehmen und ermöglicht die verwaltung der autos, fahrer, routen usw. es muss zunächst eine syntaxdefinition erfolgen damit die kommandos vom prozessor ausgewertet werden können. dies machst du am besten mit ebnf. wegen der datenspeicherung kannst du dir die klasse randomaccessfile im paket io mal anschauen und auch verkehrt sind die streams nicht.

Code:
import java.awt.FlowLayout;
import java.awt.Frame;
import java.awt.TextArea;
import java.awt.TextField;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import java.awt.event.WindowEvent;
import java.awt.event.WindowListener;

import javax.swing.JScrollPane;

class Command {
	TextArea out = new TextArea();
	
	public Command() {
		out.setEditable(false);
	}
	
	void process(String msg) {
		out.append("Eingabe: " + msg + (char) 10);
		// TODO: Place your Syntaxanalysis here:
	}
}

class Input extends TextField {
	Command parent;
	
	public Input(Command p) {
		parent = p;
		addKeyListener(new KeyListener() {

			public void keyTyped(KeyEvent arg0) {
				// TODO Auto-generated method stub
				if(arg0.getKeyChar() == KeyEvent.VK_ENTER) {
					parent.process(getText());
					setText("");
				}
			}

			public void keyPressed(KeyEvent arg0) {
				// TODO Auto-generated method stub
				
			}

			public void keyReleased(KeyEvent arg0) {
				// TODO Auto-generated method stub
				
			}
			
		});
		setColumns(60);
	}
}

public class konsole {
	public static void main(String[] args) {
		Frame f = new Frame();
		f.addWindowListener(new WindowListener() {

			public void windowOpened(WindowEvent arg0) {
				// TODO Auto-generated method stub
				
			}

			public void windowClosing(WindowEvent arg0) {
				// TODO Auto-generated method stub
				System.exit(0);
			}

			public void windowClosed(WindowEvent arg0) {
				// TODO Auto-generated method stub

			}

			public void windowIconified(WindowEvent arg0) {
				// TODO Auto-generated method stub
				
			}

			public void windowDeiconified(WindowEvent arg0) {
				// TODO Auto-generated method stub
				
			}

			public void windowActivated(WindowEvent arg0) {
				// TODO Auto-generated method stub
				
			}

			public void windowDeactivated(WindowEvent arg0) {
				// TODO Auto-generated method stub
				
			}
		});
		
		Command cmd = new Command();
		Input in = new Input(cmd);
		
		f.setLayout(new FlowLayout());
		f.add(new JScrollPane(cmd.out));
		f.add(in);
		
		f.setSize(10 * 60, 320);
		f.setVisible(true);
	}
}
[/code]
 
G

Gast

Gast
Vielen Dank. Das mit dem Einlesen aus einer Datenbank klingt am einfachsten. Aber mir fiel gerade ein, dass ich 3 Klassen einführen könnte: Auto| Fahrer| Fahrt
Aber ich weiß nicht in welchem Verhältnis die sich dann am sinnvollsten bedingen bzw. wie die Kardinalitäten zu verteilen wären. Ich hab Jude zum UML zeichnen, aber Kardinalitäten waren schon immer mein Problem.
 
G

Gast

Gast
Kennt sich jemand hier mit den Kardinalitäten im einem UML aus?
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
J Probleme mit drucken aus Java Java Basics - Anfänger-Themen 3
Gokul Java chart library suggestion for web application? Java Basics - Anfänger-Themen 2
D wie kann ich gcc aus einer .java datei heraus aufrufen? Java Basics - Anfänger-Themen 2
S Text Formatierung in Java Java Basics - Anfänger-Themen 2
B Erste Schritte yaml parsen in Java Java Basics - Anfänger-Themen 19
C Methoden Umlaute in Java Java Basics - Anfänger-Themen 18
W Java-PRogramm liest als EXE-File Nicht USB, jedoch aus NetBeans Java Basics - Anfänger-Themen 45
W Methoden java map ersatz für c++map Java Basics - Anfänger-Themen 3
M Erste Schritte Java Primzahltester Java Basics - Anfänger-Themen 4
A csv Reader für Java? Java Basics - Anfänger-Themen 27
K Java - Enums Java Basics - Anfänger-Themen 30
tomzen Java Unterstützung für exel dateien installieren. Java Basics - Anfänger-Themen 2
Rookar java.lang.NoClassDefFoundError: org/json/JSONException Java Basics - Anfänger-Themen 2
Rookar Mit Button andere java öffnen Java Basics - Anfänger-Themen 4
F Java Object to Hashmap ? Java Basics - Anfänger-Themen 6
I Backend in Java und Ansicht von Dateien in statische HTML Seiten? Java Basics - Anfänger-Themen 15
R Input/Output Verwendung des Euro-Zeichens in Java Java Basics - Anfänger-Themen 7
I Push Nachrichten von JAVA EE App an Mobile App Java Basics - Anfänger-Themen 3
H .java Dateien in Eclipse einbinden und ausführen Java Basics - Anfänger-Themen 1
onlyxlia Schlüsselworte Was meint man mit "einen Typ" in Java erstellen? Java Basics - Anfänger-Themen 2
O Java Kara geschweifte Klammern Java Basics - Anfänger-Themen 2
G Mausrad logitech kann links und rechts klick wie in java abragen. Java Basics - Anfänger-Themen 15
XWing Java Klssenproblem Java Basics - Anfänger-Themen 4
R Umgebungsvariable java -cp gibt immer Java-Hilfe... Java Basics - Anfänger-Themen 3
farbenlos Csv Datei in Java einlesen Java Basics - Anfänger-Themen 18
F TableModelListener: java.lang.ArrayIndexOutOfBoundsException: 132 Java Basics - Anfänger-Themen 3
G Java 8 - Support-Ende Java Basics - Anfänger-Themen 7
T Java Weihnachtsbaum + Rahmen Java Basics - Anfänger-Themen 1
N Will mit Java anfangen Java Basics - Anfänger-Themen 13
Ü Java Array - Buchstaben als Zahlen ausgeben Java Basics - Anfänger-Themen 22
M Java Iterator Verständnisfrage Java Basics - Anfänger-Themen 6
M Java Mail Programm Java Basics - Anfänger-Themen 4
Sniper1000 Java 391 für Windows Java Basics - Anfänger-Themen 37
G Java long- in int-Variable umwandeln Java Basics - Anfänger-Themen 6
JaZuDemNo Java im Studium Java Basics - Anfänger-Themen 7
E Java Programm zur anzeige, ob Winter- oder Sommerzeit herrscht Java Basics - Anfänger-Themen 62
I QR code in Java selber generieren Java Basics - Anfänger-Themen 5
V Java-Ausnahmebehandlung: Behandlung geprüfter Ausnahmen Java Basics - Anfänger-Themen 1
krgewb Java Streams Java Basics - Anfänger-Themen 10
A Überwältigt von der komplexen Java Welt Java Basics - Anfänger-Themen 29
O Mehrfachvererbung auf Spezifikations- und Implementierungsebene in Java. Interfaces Java Basics - Anfänger-Themen 19
John_Sace Homogene Realisierung von Generics in Java ? Java Basics - Anfänger-Themen 19
P Meldung aus Java-Klasse in Thread an aufrufende Klasse Java Basics - Anfänger-Themen 1
R mit Java API arbeiten Java Basics - Anfänger-Themen 9
P JDK installieren Probleme bei der Java-Installation Java Basics - Anfänger-Themen 8
S Java: Wie sortiere ich eine ArrayList benutzerdefinierter Objekte nach einem bestimmten Attribut? Java Basics - Anfänger-Themen 2
Timo12345 JNLP File mit Java öffnen Java Basics - Anfänger-Themen 2
S Video Editierung mit Java.._ Java Basics - Anfänger-Themen 2
F Einstelungen in Java - CursorBlinkRate Java Basics - Anfänger-Themen 10
A PHP $_POST["name"] in Java Java Basics - Anfänger-Themen 3
vivansai21 Is there a oneliner to create a SortedSet filled with one or multiple elements in Java? Java Basics - Anfänger-Themen 9
Athro-Hiro Weißes Bild in Java erstellen Java Basics - Anfänger-Themen 3
Arjunreddy Can someone please tell me how to use a debugger in BlueJ(a Java environment) Java Basics - Anfänger-Themen 1
M Java assoziationen (UML) Java Basics - Anfänger-Themen 8
H Excel-Tabellen mit Java erstellen Java Basics - Anfänger-Themen 4
Simon16 Java ArrayListe von einer Klasse sortieren Java Basics - Anfänger-Themen 2
P Wie kann ich in meinem Java Programm etwas dauerhaft speichern? Java Basics - Anfänger-Themen 5
H Nutzt Eclipse alle CPU-Threads beim Ausführen von Java-Programmen? Java Basics - Anfänger-Themen 4
xXGrowGuruXx Java einstieg, leichte sache 0 verstanden Java Basics - Anfänger-Themen 7
A java.sql.SQLException: Data type mismatch. Java Basics - Anfänger-Themen 1
H Java-Programm zur Ausgabe von Zuständen Java Basics - Anfänger-Themen 80
N Java Spiel Figur auf dem Hintergrundbild bewegen. Java Basics - Anfänger-Themen 11
G Kann Java-Programm nicht als jar aufrufen, auch als EXE nicht Java Basics - Anfänger-Themen 19
N Java Taschenrechner hat Jemand vlt einen Tipp dafür wie ich jetzt die buttons verbinden kann und das Ergebnis auf dem textfield anzeigen lassen kann Java Basics - Anfänger-Themen 13
A Lerngruppe Java Java Basics - Anfänger-Themen 2
G Help me in the Java Program Java Basics - Anfänger-Themen 2
L Java- Vererbung Java Basics - Anfänger-Themen 4
LimDul Suche Java Stream Tutorial Java Basics - Anfänger-Themen 2
_so_far_away_ Ich möchte Java lernen Java Basics - Anfänger-Themen 11
benny1993 Java Programm erstellen für ein Fußball-Turnier Java Basics - Anfänger-Themen 3
M Datentypen While-Schleife eine Java Methode erstellen Java Basics - Anfänger-Themen 3
V Bild per Java Script austauschen Java Basics - Anfänger-Themen 7
MoxMorris this Keyword in Java Java Basics - Anfänger-Themen 14
D Wie kann man in Java nach Arrays auf Duplikate prüfen Java Basics - Anfänger-Themen 12
wolei JAVA Zeitdifferenz feststellen. Java Basics - Anfänger-Themen 4
DiyarcanZeren Rekursion in Java Java Basics - Anfänger-Themen 5
wolei Java generic interface in a generic class Java Basics - Anfänger-Themen 6
monsterherz Ablauf der Erstellung eines Java Programmes Java Basics - Anfänger-Themen 17
monsterherz Circle.java:5: error: <identifier> expected Java Basics - Anfänger-Themen 2
julian-fr Wie kann ich am besten Java lernen? Java Basics - Anfänger-Themen 17
A Java-Properties und -RessourceBundles Java Basics - Anfänger-Themen 5
lrnz22 Java-Basics-Aufgabe Java Basics - Anfänger-Themen 8
R Java kann nicht installiert werden Java Basics - Anfänger-Themen 8
marcelnedza Finde meinen Fehler in einer Methode nicht, Java Karol Java Basics - Anfänger-Themen 15
G In ein java Dokument Ton einbinden Java Basics - Anfänger-Themen 1
C was heisst es wenn java ']' erwartet ? Java Basics - Anfänger-Themen 2
KeinJavaFreak Erste Schritte Programm "Java(TM) Platform SE binary " nicht vorhanden Java Basics - Anfänger-Themen 1
KeinJavaFreak Erste Schritte Java "Executable Jar File" nicht vorhanden Java Basics - Anfänger-Themen 1
melisax Java 2D-Array Tabelle Java Basics - Anfänger-Themen 4
melisax Java Array Wert an bestimmtem Index angeben Java Basics - Anfänger-Themen 14
J Java Testklasse Java Basics - Anfänger-Themen 5
P Java Selenium . Parameterized.Parameters erzeugt eine Fehlermeldung Java Basics - Anfänger-Themen 14
W Java-Code mit Array Java Basics - Anfänger-Themen 14
W Java-Code Java Basics - Anfänger-Themen 2
P BeforeEach AfterEach werden nicht ausgeführt. Java / Selenium Java Basics - Anfänger-Themen 4
A Wie führe ich eine Batch-Datei von meiner Java-Anwendung aus? Java Basics - Anfänger-Themen 18
W Java code- TicTac toe Java Basics - Anfänger-Themen 51
Ostkreuz Java Docs Java Basics - Anfänger-Themen 9
R Java boolean Unterschied " == " und " = " Java Basics - Anfänger-Themen 3
D Java Programm mit Batch-Datei starten Java Basics - Anfänger-Themen 32

Ähnliche Java Themen

Neue Themen


Oben