Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
Hallo, für ein Programm habe ich 3 aufeinanderfolgende Abfragen mit JOptionPane erstellt. Nun soll man bei den ersten beiden Zahlen 1,2,3 und 0-x eingeben. Die 3. ist eine Ja/Nein Abfrage. Zum Schluss soll für die Möglichkeiten 1, 2, 3 verschiedene Zahlen ausgegeben werden die sich durch die Abfragen ergeben haben. Dies müsste doch mit if-Bedinungen gehen oder? Wie könnte ich das am besten händeln?
So das die Abfragen zum Schluss je nach Eingabe das richtige Ergebnis (eine bestimmte Zahl) ausgeben.
Läuft das ganze dann auf eine 3 teilige if/else Verschachtelung hinaus pro Abfrage?
Lieben Gruß
Anfangs sprichst du von 3 Dialogen, wovon der dritte eine Ja/Nein-Abfrage ist. Aber dann kommt "zum Schluss" noch was? Ich dachte es gibt nur 3 Dialoge? Sorry, kannst du das nochmal klarer erläutern, ich habe leider nicht verstanden was genau in den einzelnen Dialogen angezeigt bzw abgefragt wird.
in dem Programm sollen durch Abfragen Geldbeiträge ermittelt werden. Bei der ersten Abfrage gibt es 3 mögliche Ereignisse A, B und C. Hier soll eine Zahl 1,2 oder 3 (die den Ereignissen A, B und C zugeordnet werden sollen) eingetragen werden.
In der zweiten Abfrage soll ein int von 0-n eingetragen werden.
Bei der dritten Abfrage soll es ein Ja/Nein Dialog sein.
Je nach dem was man eingibbt/anklickt soll ein anderes Ergebnis ausgegeben werden.
C soll als Endergebnis 800€ haben unabhängig von der zweiten Abfrage und die 3 Abfrage ist mit ja zu beantworten.
B ist ebenfalls unabhängig von der zweiten Abfrage und soll 628€ ausgeben.
Bei der 2. Abfrage ist es ein wenig komplizierter. 0-n ist gefragt. 0 bis einschließlich 4 hat keine Auswirkungen auf A und es soll 628€ ausgegeben werden.
bei n=5 soll er 728€ ausgeben.
bei n=6 soll er 728€ ausgeben.
bei n=7 soll er 828€ ausgeben.
bei n=8 soll er 928€ ausgeben.
bei n>=8 ebenfalls 928€.
Kann ich dafür verschachtelte if else Abfragen benutzen?
Also irgendwo brauchst du ein paar if-Statements. Ich würde mir eine Art Auswertungs-Instanz anlegen, also eine Klasse:
Java:
public class DataValidation{
private int first;
private int second;
private boolean decision;
// Konstruktor
}
Im Programm zeigst du einfach die 3 Dialoge, ohne if oder sonst was, einfach hintereinander, und speicherst dir das Ergebnis vom Aufruf. Und mit den drei Werte erzeugst du obige DataValidation-Instanz, naja und dort machste jetzt ne Methode validate() - oder du haust die Logik gleich in den Konstruktor - und ne Methode getResult(). Wie gesagt, in dieser Validierung brauchst du so wie ich das sehe auf jeden Fall ein paar if's, weil du hast da einige Sonderregeln die man auch nicht wirklich eleganter mit abstrakterem Code lösen könnte.
edit: Irgendwie macht die Klasse wenig Sinn Es sei denn du willst mehrere solcher Auswertungen abspeichern. Du kannst das ja eigentlich direkt hinter die showXXXdialog()-Aufrufe bauen, ja...
gut danke, die abfragen stehen sobald und die grundsteine für die if abfragen ebenfalls.
Wenn ich die Zahlen ausgeben möchte sind es insgesamt 11 Ausgänge. Davon sind 5 gleich und 6 verschiedene. Evtl könnte ich noch 2 weitere zusammenfügen, sodass es 7 Gleiche sind und 4 verschiedene.
Muss ich nun für jeden einzelnen Ausgang eine verschachtelte if Abfrage erstellen oder gibt es eien technische Möglichkeit diese zusammenzufügen?
Nur als Beispiel. Google mal nach logischen Operatoren in Java.
Ansonsten bietet sich manchmal ein switch-Statement für sowas an, was das ganze leichter lesbar macht und ohne soviele Verschachtelungen. Aber im switch kannst du nur auf einen konkreten Wert prüfen, d.h. du müsstest das in dem Fall wohl mit nem eigens definierten enum verwenden.
danke dir, das klingt gut werde mich mal ein wenig einlesen habe dazu schon eine Idee. Denke das müsste klappen. Habe da noch eien Frage zu Beginn der Abfragen.
Welche Variablen sollte ich verwenden? Habe das Gefühl da fehlt mir noch etwas.
Verwende bisher eine boolean variable int A = 1; int B = 2; int C = 3;
dazu noch 2 String Variablen. Wie könnte ich damit am besten umgehen um die variablen in die Abfragen einzubauen?
Bekomme die Fehlermeldung
incomparable types java.lang.string and int.