OOP Wie schreib ich dieses Programm am besten?

pisco

Bekanntes Mitglied
Hey Leute,
also ich hab einen Haufen von Formeln in meinem Fach Investition & Finanzierung und möchte mir ein Programm schreiben um all diese mit knopfdruck berechnen zu können:

also hätte mir ein einfaches user Interface gedacht mit welchem ich mittels switch case auswähle was ich will und dann halt in die jeweilige Fkt. spring.

NUR: Ich muss zu jeder Formel eine Methode machen und da ich ja Werte in der Formel brauch immer mit

Java:
System.out.println("geben sie den zinsatz ein:" );
zins = sc.nextInt();

//blablabla

Irgendwie wird dann aus einer einfachen Formel die eigentlich eine Zeile lang ist immer eine verdammt voll gepackte Methode mit mid 5 print()s.

Wie kann ich das einfacher und flexibler gestalten?

Ich möchte je nach Formel nur bestimmte Werte abfragen und einfach weitere Formeln dazu coden können.

gruss und dank euch für eure Antwort
 
G

Gast2

Gast
Du kannst dir nen paar prints sparen indem du Code der öfter vorkommt zusammenfast, z.b. sowas:

Java:
private String read(String message) {
    System.out.print(message + ": ");
    return sc.nextLine();
}

private int readInt(String message) {
    String line = read(message);
    // als int parsen
    return i;
}

private double readDouble(String message) {
    String line = read(message);
    // als double parsen
    return d;
}

Dann schreibst du später in deinen Methoden nur noch:
Java:
public double calcFormel() {
    double zins = readDouble("Bitte Zins eingeben");
    double guthaben = readDouble("Bitte Guthaben eingeben");
    int jahre = readInt("Bitte die Anzahl der Jahre eingeben");
    return zins + guthaben * jahre - 42;
}

Das ganze noch mit nen bissl exceptionhandling ausstatten und dann kannste damit recht einfach deine Formeln umsetzen.
 

pisco

Bekanntes Mitglied
erstmal vielen dank für deine Antwort ;D

2 Fragen hät ich noch:

Heißt parsen umwandeln oder was dann?

Warum schreibst du return d? d is ja ned deklariert...

gruss und danke für deine Antwort
 

U2nt

Bekanntes Mitglied
ja, parsen heißt z.B. vom String in Double etc.
Code:
Double.parseDouble(message);

Da oben der hat d returned weil du das Kommentar durch soetwas ähnliches ersetzen solltest:
Code:
double d = Double.parseDouble(message);

:)
 

noobadix

Bekanntes Mitglied
Das Parsen ist unschön, wenn bspw. nach Integer geparst, aber gar keine Zahl, sondern Buchstaben eingegeben worden sind; es fliegt dann eine Exception, die behandelt werden sollte. Besser gleich die Klasse Scanner benutzen, die gar so schöne Methoden wie hasNextInt() und nextInt() bereitstellt.
 
G

Gast2

Gast
Und nextInt() schmeißt keine Exception wenn du was falsches eingibst? ;)
Außerdem habe ich ja auch geschrieben dass man da noch Exceptionhandling einbauen muss.
 

emre.hasan

Mitglied
ja ich denke auch, dass die angehensweise hier so stimmt in beiden fällen hätte man exceptions,
wobei für ein anfänger hier klarer wird was alles falsch eingegeben werden kann.

die alternative eine richtige oder falsche eingabe zu haben wäre regex zu verwenden, aber das wäre ja schon ein etwas kompliziertes feld ne?
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
S Schreib Stream Java Basics - Anfänger-Themen 21
Temsky34 Wie bekomme ich dieses Java-Warning wieder weg? Java Basics - Anfänger-Themen 2
berserkerdq2 Überprüfen ob eine Schreibberechtigung auf ein file exisitert bzw. ob man dieses file löschen kann, wie? Java Basics - Anfänger-Themen 9
F Kann mir jemand kurz dieses Programm erklären? Java Basics - Anfänger-Themen 22
cmn489 Werte beim Funktionsaufruf in ein Feld übertragen(falls dieses leer ist) Java Basics - Anfänger-Themen 1
1 Wie dieses Muster am einfachsten erkennen? Java Basics - Anfänger-Themen 32
T Methode schreiben, die einem Array ein Stringelement hinzufügt, wenn dieses noch nicht enthalten ist. Java Basics - Anfänger-Themen 6
Salvatore321 Wie kann ich dieses Zustandsdiagramm am besten Umsetzen? Java Basics - Anfänger-Themen 5
Sajeel Chattha Dieses Programm umschreiben Java Basics - Anfänger-Themen 5
M Wie erstelle ich dieses Parallelogramm??? Java Basics - Anfänger-Themen 6
P Wie kann ich die Zahlen dieses Arrays dividieren? Java Basics - Anfänger-Themen 2
G Weiß jemand wie man dieses Programm schreibt? Java Basics - Anfänger-Themen 84
A Kann mir jemand dieses Programm erklären? Java Basics - Anfänger-Themen 1
ChrisPL4Y Wieso funktioniert dieses Programm nicht? Java Basics - Anfänger-Themen 6
B Könnte jemand über dieses jurze Javaprogramm schauen? Irgendwas funktioniert mit der z-Varible nicht Java Basics - Anfänger-Themen 2
TechGirl JAVA GUI Oberfläche Umkreisung - wie heißt dieses Element? Java Basics - Anfänger-Themen 2
W Methoden Methode auf Array aufrufen, und dieses Array dabei ändern? Java Basics - Anfänger-Themen 10
Tacofan Was macht dieses "Stückchen Code"? Java Basics - Anfänger-Themen 3
Shams Kann man von einem Interface aus auf die dieses implementierende Klasse zugreifen? Java Basics - Anfänger-Themen 4
M Warum ist dieses Feld der Klasse Math immutable? Java Basics - Anfänger-Themen 7
R Wieso funktioniert dieses Array nicht? Java Basics - Anfänger-Themen 13
M Wie heisst dieses Sortierverfahren? Java Basics - Anfänger-Themen 6
G Wo ist die Eigenschaft dieses JFrames versteckt? Java Basics - Anfänger-Themen 5
G Wie nennt man dieses Konstrukt Java Basics - Anfänger-Themen 3
V Schon wieder ein kleines problem...dieses mal mit do-while loop Java Basics - Anfänger-Themen 9
F Was soll dieses Programm genau machen ? Java Basics - Anfänger-Themen 9
D Was genau bedeutet und bewirkt dieses @override? Java Basics - Anfänger-Themen 15
P Datentypen Warum würde dieses Beispiel nicht funktionieren? Java Basics - Anfänger-Themen 6
G Aus eigenem Panel dieses Löschen Java Basics - Anfänger-Themen 2
S für was steht dieses e ?? Java Basics - Anfänger-Themen 4
J Was bedeutet dieses a [i].length? Java Basics - Anfänger-Themen 3
D Wie bringe ich dieses Programm als .jar zum laufen ? Java Basics - Anfänger-Themen 12
R Image aus jar laden (dieses mal awt) Java Basics - Anfänger-Themen 19
W "Sprechen Sie Java?" suche dieses Buch gebraucht! Java Basics - Anfänger-Themen 11
G Dieses verdammte Regex Java Basics - Anfänger-Themen 2
H warum ist dieses Kontext static? Java Basics - Anfänger-Themen 5
G Dieses leidige ID Thema Java Basics - Anfänger-Themen 9
D Was ist denn dieses Jar ueberhaupt ? Java Basics - Anfänger-Themen 3
G Wie nennt man dieses Konstrukt: Vector<Object> Java Basics - Anfänger-Themen 2
N Ist dieses Problem mit Java zu lösen? Java Basics - Anfänger-Themen 7
C Warum funktioniert dieses Speichern in Array nicht? Java Basics - Anfänger-Themen 4
S Ist dieses Projekt realisierbar? Java Basics - Anfänger-Themen 2
D Warum läuft dieses Programm so langsam? Java Basics - Anfänger-Themen 5
B Split und dieses Zeichen "" Java Basics - Anfänger-Themen 3
G Was macht dieses Program ? Java Basics - Anfänger-Themen 13
L Dieses Problem nagt an meiner Würde - Argument * Java Basics - Anfänger-Themen 4
D Vereinfachung dieses Programms Java Basics - Anfänger-Themen 11
megachucky Suche ein paar gute Tutorials so wie dieses hier. Java Basics - Anfänger-Themen 4
M Wie auf ein Objekt zugreifen und dieses manipulieren? Java Basics - Anfänger-Themen 5
S Hilfe!!!! Wie ändere ich dieses Applet???? Java Basics - Anfänger-Themen 9
J Delay erzeugen, ohne Programm zu blockieren Java Basics - Anfänger-Themen 7
Ü Dead Code im Programm? Java Basics - Anfänger-Themen 13
M Java Mail Programm Java Basics - Anfänger-Themen 4
E Java Programm zur anzeige, ob Winter- oder Sommerzeit herrscht Java Basics - Anfänger-Themen 62
M Mini Jar-Programm Java Basics - Anfänger-Themen 51
G JTable Listselectionlistener friert das Programm ein Java Basics - Anfänger-Themen 8
M Das Programm stellt nichts dar Java Basics - Anfänger-Themen 2
K Programm compilierbar aber nicht ausführbar... Java Basics - Anfänger-Themen 21
Z Programm Ideen Java Basics - Anfänger-Themen 8
P Wie kann ich in meinem Java Programm etwas dauerhaft speichern? Java Basics - Anfänger-Themen 5
P Wie kann ich beispielsweise Speicherstände eines Spiels DAUERHAFT in meinem Programm speichern? Java Basics - Anfänger-Themen 3
H Java-Programm zur Ausgabe von Zuständen Java Basics - Anfänger-Themen 80
G Kann Java-Programm nicht als jar aufrufen, auch als EXE nicht Java Basics - Anfänger-Themen 19
benny1993 Java Programm erstellen für ein Fußball-Turnier Java Basics - Anfänger-Themen 3
T Programm stürzt ab Java Basics - Anfänger-Themen 40
KeinJavaFreak Erste Schritte Programm "Java(TM) Platform SE binary " nicht vorhanden Java Basics - Anfänger-Themen 1
G Programm läuft durch, ohne Eingabe aus dem Chat abzuwarten Java Basics - Anfänger-Themen 4
N Programm Funktioniert mit .txt Datei aber nicht mit .rtf Datei Java Basics - Anfänger-Themen 2
N Interpreter-Fehler Compiler zeigt keine Fehler an, aber das Programm läuft nicht (BlueJ) Java Basics - Anfänger-Themen 2
D Java Programm mit Batch-Datei starten Java Basics - Anfänger-Themen 32
Jul1n4tor Programm mit Scanner und If-Statements Java Basics - Anfänger-Themen 2
D Wie sehe ich ein Java-Programm? Java Basics - Anfänger-Themen 27
K Ist das Programm schlecht bzw. schlampig programmiert ? Java Basics - Anfänger-Themen 9
Zrebna Kann Java Programm nicht in Konsole ausführen Java Basics - Anfänger-Themen 1
K Warum läuft das Programm nicht(bzw. nicht richtig) Java Basics - Anfänger-Themen 4
M Von Eclipse zum richtigen Programm Java Basics - Anfänger-Themen 1
nbergmann IntelliJ: Wie lade ich ein fertiges Programm aus dem Lehrbuch? Java Basics - Anfänger-Themen 26
D Anfängerfrage zu meinem Programm. Java Basics - Anfänger-Themen 15
nbergmann Eclipse: Lehrbuch-Programm startet nicht Java Basics - Anfänger-Themen 22
I Jetty starten von Programm (Main) Java Basics - Anfänger-Themen 27
Kydo Programm Beschreibung Java Basics - Anfänger-Themen 3
nbergmann Eclipse: Lehrbuch-Programm startet nicht Java Basics - Anfänger-Themen 7
T Java FXML selbes Fenster verschiedene Stellen im Programm Java Basics - Anfänger-Themen 5
frager2345 Programm erstellen ohne Autoboxing und Unboxing Java Basics - Anfänger-Themen 13
D JAVA Programm schreiben Java Basics - Anfänger-Themen 46
P exportiertes Programm funktioniert nur teilweise Java Basics - Anfänger-Themen 7
J Mein Programm läuft bei der ersten Eingabe nicht mehr weiter, woran liegt das? Java Basics - Anfänger-Themen 6
M Wo hält das Programm an? Java Basics - Anfänger-Themen 11
J Mein Java Programm lässt sich nicht mehr bearbeiten Java Basics - Anfänger-Themen 2
Fugover Programm funktioniert nicht Java Basics - Anfänger-Themen 11
Fugover Kopfrechnen-Programm Java Basics - Anfänger-Themen 6
NadimArazi Wie kann ich eine collision detection für die Paddles in meinem Pong Programm hinzufügen? Java Basics - Anfänger-Themen 4
sserio Wieso funktioniert mein Programm nicht Java Basics - Anfänger-Themen 2
sserio Größtes Palindrom-Produkt Programm funktioniert nur halb Java Basics - Anfänger-Themen 23
J selbst erstellte Datei mit Programm öffnen Java Basics - Anfänger-Themen 10
F nach Methode Programm nicht beenden Java Basics - Anfänger-Themen 9
A wie kann ich es in meinem Programm rein tun Java Basics - Anfänger-Themen 8
S Fehler beim Programm Java Basics - Anfänger-Themen 2
Jose05 Fehler im Programm feststellen Java Basics - Anfänger-Themen 2
I Programm erkennt nicht an das Array zurückgegeben wird trotz Initialisierung *einfach* Java Basics - Anfänger-Themen 9

Ähnliche Java Themen

Neue Themen


Oben