Erste Schritte Verknüpfung zweier JAVA-Codes

Younis99

Neues Mitglied
Hallo Community,
ich bin ein Anfänger der Java-Programmierung und deshalb stelle ich euch diese Frage. Als von Anfang an... Da ich mir zur Zeit das programmieren mit JAVA beibringe, dachte ich mir da zur Zeit mein Vater seinen Bootsführerschein macht und da er in 2 Wochen Geburtstag hat, programmiere ich ihm ein Quiz, indem alle offizielle Fragen des Bootsführerscheines stehen. Jedoch mein Problem: wie verknüpfe ich diese beiden Codes, sodass nach der ersten Frage gleich die zweite Frage beginnt.




Java:
import javax.swing.*;
 
public class bootsführerschein {
   public static void main(String[] args) {
     Object[] possibleValues = { "Antwort wählen", "Luv", "Lee"};
     Object selectedValue = null;
     do {
       selectedValue = JOptionPane.showInputDialog(null,
       "Wie heißt die windabgewandte Seite?", "Frage 1",
       JOptionPane.QUESTION_MESSAGE, null,
       possibleValues, possibleValues[0]);
         
       if(selectedValue == null) {
         if(cancelOptions()) {
           break;
         }      
       }
     }
     while(!selectedValue.equals(possibleValues[3]));
   }
   String inputValue = null;


Das ist mein Problem, denn ich weiß nicht wie ich den oberen Teil mit dem unteren verknüpfen kann...



Java:
   public static void main1(String[] args) {
	     Object[] possibleValues = { "Antwort wählen", "20 Meter", "10 Meter", "15 Meter" };
	     Object selectedValue = null;
	     do {
	       selectedValue = JOptionPane.showInputDialog(null,
	       "Wie lang darf eine führescheinfreie Yacht maximal sein?", "Frage 1",
	       JOptionPane.QUESTION_MESSAGE, null,
	       possibleValues, possibleValues[0]);
	         
	       if(selectedValue == null) {
	         if(cancelOptions()) {
	           break;
	         }      
	       }
	     }
	     while(!selectedValue.equals(possibleValues[2]));
	   }
   String inputValue1 = null;
   
   
   
   
   
   
   private static boolean cancelOptions() {
     Object[] options = {"Überspringen", "Beenden"};
     
     int option = JOptionPane.showOptionDialog(null, 
     "Möchten Sie die Frage überspringen, oder das Quiz beenden?", 
     "Quiz - Optionen", 
     JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE, 
     null, //Icon
     options, options[0]);
     
     if(option == JOptionPane.NO_OPTION) {
       System.exit(0);
     }
     
     return true;
  }
}


Ich hoffe das ihr mir helfen könnt, wenn ihr außer dem Problem noch Fehler findet, bitte ich euch dies zu berichtigen.

MfG
Younis99
 
Zuletzt bearbeitet:

Timothy Truckle

Top Contributor
Hallo Younis99

Leider ist es fatal, in Java einfach so drauf los zuprogrammieren.

Zuerst müssen wir das Problem erst etwas zerlegen:
  • Es gibt eine Liste von Fragen.
  • Jeder Frage sind mehrere (unterschiedlich viele?) Antworten zugeordnet.
  • Von diesen Antworten ist immmer (mindestens?) eine richtig.
  • Die Fragen werden der Reihe nach mit allen Antworten angezeigt.
  • Die nächste Frage wird erst angezeigt, wenn die aktuelle richtig beantwortet wurde.

Daraus entnehmen wir:
  • Wir benötigen eine Liste für die Fragen: [JAPI]ArrayList[/JAPI]
  • Wir müssen Fragen und Antworten zusammen bringen: Klasse
    Code:
    Frage
    erstellen, Antworten als Liste in dieser Klasse
  • Wir müssen Antworten als richtig Kennzeichnen könne: Klasse
    Code:
    Antwort
    erstellen mit Feld
    Code:
    istRichtig
  • wir müssen diese Liste in einer Schleife abarbeiten :
    Code:
    for
  • wir müssen die Frage so oft stellen, bis die Antwort richtig ist:
    Code:
    while

Den Einstieg hast Du ja schon mal gut hin bekommen. Jetzt machen wir den Rest
Java:
class Antwort {
  private final String text;
  public final boolean istRichtig;
  public Antwort(String text, boolean istRichtig){
    this.text=text;
    this.istRichtig = istRichtig;
  }
  @Override
  public String toString() { return text ;}
}

class Frage {
  private final String text;
  private final Antwort[] antworten ;
  public Frage(String text, Antwort ... antwortArray){
    this.text=text;
    this.antworten = antwortArray;
  }

  zeigeFrage(){
      do {
       Antwort selectedValue = (Antwort)JOptionPane.showInputDialog(null,
       text, "Frage",  JOptionPane.QUESTION_MESSAGE, null, antworten, antworten[0]);
         
       if(selectedValue == null) {
         if(cancelOptions()) {
           break;
         }      
       }
     }
     while(!selectedValue.istRichtig));
  }
}

class BootsQuiz{
   public static void main(String[] args){
     List<Frage> fragen= generiereFragen();
     stelleFragen(fragen);
  }
  private List<Frage> generiereFragen(){
    List<Frage>  fragen = new ArrayList();
    fragen.add(new Frage("Wie heißt die windabgewandte Seite?",new Antwort("Luv",false), new Antwort("Lee",true));
  // ...
 
  }

  private void stelleFragen(List<Frage> fragen){
    for(Frage frage : fragen){
       frage.zeigeFrage();
    }
  }
}
Dass ist ungetestet, müsste aber so laufen.
Frage dazu?
 
Zuletzt bearbeitet:

Phash

Top Contributor
puh...

also...

was du brauchst ist:

eine Klasse "Frage"
in dieser Klasse steht die Frage, ihre richtige Antwort, und vorerst auch noch andere Antwortmoeglichkeiten, wenn du falsche Antworten anbieten moechtest (multiple choice)

dann brauchst du eine "Datenbank" - in deinem Fall ist das eine Klasse, die eine Collection mit deinen Fragen beinhaltet - und vielleicht auch schon erzeugt, da du ja keine echte DB hast.

Und dann brauchst du eine Klasse, die Fragen stellt, die Antwort entgegennimmt, bewertet ob sie richtig beantwortet wurde, punkte zaehlt oder die richtige Antwort postet und dann die naechste Frage stellt
 
Zuletzt bearbeitet:

Younis99

Neues Mitglied
Danke, für die schnellen Antworten... Habt Ihr noch eine Idee, wie man eine Art "Fehlerzähler" integrieren könnte, der einem dann am Ende der 300 Fragen die Anzahl der Fehler als Zahl und als Prozent anzeigt?

MfG Younis99
 

Phash

Top Contributor
private int anzahlFehler = 0;
priavte int anzahlRichtige = 0;

und dann incrementierst du das eben immer nach Beantwortung der Frage (in eben dieser Methode) und gibst es am Ende oder sonstwann aus
 
Zuletzt bearbeitet:

Timothy Truckle

Top Contributor
Danke, für die schnellen Antworten... Habt Ihr noch eine Idee, wie man eine Art "Fehlerzähler" integrieren könnte,
Code:
zeigeFrage()
könnte
Code:
1
oder
Code:
0
zurückgeben, dass wird dann auf die von Phasch vorgeschlagene Variable aufaddiert. Ich wäre ja für
Code:
richtigeAntworten
(womit 1=richtig und 0=falsch wäre)...
Die Anzahl der Falschen ergib sich aus
Code:
fragen.size()-richtigeAntworten
.

bye
TT
 

Phash

Top Contributor
ajo TT, aber wenn er nicht alle Fragen spielt, dann hat er kein verlaessliches Ergebnis...

wenn dann muss er sich merken, wie viele Fragen er schon gestellt hat.
 

Timothy Truckle

Top Contributor
ajo TT, aber wenn er nicht alle Fragen spielt, dann hat er kein verlaessliches Ergebnis...
wenn dann muss er sich merken, wie viele Fragen er schon gestellt hat.
richtig, ist aber auch kein unlösbares Problem...

Ich beispielsweise würde die beantworteten Fragen in eine neue Liste werfen: kein
Code:
if
in der Schleife...

bye
TT
 

Phash

Top Contributor
hmm und dazu gleich die gegebene Antwort speichern, damit man das hinterher in einer Uebersicht noch mal darstellen kann *g*

ich glaube es ufert gerade aus :D
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
Jamie logische Verknüpfung zur Schaltjahr-Berechnung Java Basics - Anfänger-Themen 30
S Verknüpfung von Arraylisten Java Basics - Anfänger-Themen 3
B Erste Schritte Problem bei der Verknüpfung von zwei klassen Java Basics - Anfänger-Themen 8
R Klassen Klassen Verknüpfung Java Basics - Anfänger-Themen 6
W Verknüpfung von Räumen mit Hashset Java Basics - Anfänger-Themen 10
OnDemand XOR ^ Verknüpfung Java Basics - Anfänger-Themen 3
J Verknüpfung von JButton to JTextField Java Basics - Anfänger-Themen 4
S Verknüpfung von .java Java Basics - Anfänger-Themen 4
sqsh logische verknüpfung Java Basics - Anfänger-Themen 3
A XOR Verknüpfung Java Basics - Anfänger-Themen 5
A Java Verknüpfung Java Basics - Anfänger-Themen 8
F Verknüpfung erstellen Java Basics - Anfänger-Themen 7
K Erstellen einer Verknüpfung Java Basics - Anfänger-Themen 3
G AND-Verknüpfung in JPQL-Queries! Java Basics - Anfänger-Themen 2
A lnk (Verknüpfung) in java Java Basics - Anfänger-Themen 10
A Oder Verknüpfung in do-Schleife Java Basics - Anfänger-Themen 2
K Verknüpfung von zB Tabellenzeilen mit Objekten. Java Basics - Anfänger-Themen 5
B Java "AND" Verknüpfung (ok) Java Basics - Anfänger-Themen 7
P Verknüpfung von Tabellen Java Basics - Anfänger-Themen 7
thE_29 visual basic verknüpfung in java Java Basics - Anfänger-Themen 3
Fats Waller Compiler-Fehler Kann ich einen String und die Summe zweier Char Werte mittels der println Anweisung ausgeben Java Basics - Anfänger-Themen 4
C Kollision zweier Rechtecke, Schnittpunkte bestimmen Java Basics - Anfänger-Themen 25
C alle möglichen Kombinationen zweier Ziffern auf drei / vier / und 'n" Stellen Java Basics - Anfänger-Themen 11
D Interaktion zweier Objekte Java Basics - Anfänger-Themen 5
J Transformation zweier Integer in ein Double Java Basics - Anfänger-Themen 26
H Gemeinsame Schnittmenge zweier Arrays ausgeben Java Basics - Anfänger-Themen 12
F Erstellen zweier Objekte mit dem selben Inhalt Java Basics - Anfänger-Themen 1
K Datentypen Einträge zweier Matrizen vergleichen Java Basics - Anfänger-Themen 4
K Erste Schritte Berechnung der Summe zweier Arrays Java Basics - Anfänger-Themen 15
S Vergleich zweier ArrayLists mit Ausgabe an dritte ArrayList Java Basics - Anfänger-Themen 5
I Schnittpunkt zweier Geraden berechnen Java Basics - Anfänger-Themen 25
G Klassen Vergleich zweier Klassen Java Basics - Anfänger-Themen 23
S Implementieren zweier Klassen Java Basics - Anfänger-Themen 5
P Ungerade Zahlen ausgeben lassen zwischen Spannweite zweier eingegeben zahlen Java Basics - Anfänger-Themen 6
L Vergleich zweier Variablen, mit Abweichung Java Basics - Anfänger-Themen 3
N Methoden Methode zum Vergleich zweier Geburtstage Java Basics - Anfänger-Themen 5
K Multiplikation zweier Matrizen Java Basics - Anfänger-Themen 23
D Zusammenfassen zweier Programme Java Basics - Anfänger-Themen 3
B Kreuzprodukt zweier Vektoren (Erste Java Aufgabe - Hilfestellungen und Tips erwünscht) Java Basics - Anfänger-Themen 4
M Vergleich zweier Array Stellen mit equals/NullpointerException Java Basics - Anfänger-Themen 9
L BufferdImage schwarzes Bild nach zusammenfügen zweier Bilder Java Basics - Anfänger-Themen 8
N Vergleich zweier String Arrays scheitert Java Basics - Anfänger-Themen 3
C Proportionale Abnahme zweier Werte Java Basics - Anfänger-Themen 4
O ArrayListe sortieren anhand zweier Parameter Java Basics - Anfänger-Themen 4
C Inhalte zweier Vektoren vergleichen Java Basics - Anfänger-Themen 3
T Programm, das die Differenz zweier Daten ausgibt Java Basics - Anfänger-Themen 4
S Ermittlung des GGTs zweier Werte Java Basics - Anfänger-Themen 5
A Methoden Gedanken Anstöße zur Realisierung zweier Ideen (Grafisch Sekunden zählen und Frameaufteilung) Java Basics - Anfänger-Themen 18
I Einlese Abfrage zweier Variablen in einem Fenster Java Basics - Anfänger-Themen 6
A Durchschnitt zweier Mengen berechnen Java Basics - Anfänger-Themen 3
G Kombination zweier Befehle (Preis festlegen & Rabatt berechnen) Java Basics - Anfänger-Themen 3
W Methoden größe zweier tiere vergleichen Java Basics - Anfänger-Themen 15
K Schnitt zweier Ebenen ergibt Gerade Java Basics - Anfänger-Themen 10
L vergleich zweier texte Java Basics - Anfänger-Themen 18
B Vergleich zweier Objekte durch "Hashfunktion" Java Basics - Anfänger-Themen 12
J Addition zweier Zahlen Java Basics - Anfänger-Themen 9
J Dimensionen zweier Arrays vergleichen Java Basics - Anfänger-Themen 4
U Größenvergleich / Dimensionsvergleich zweier Matrizen Java Basics - Anfänger-Themen 2
N Datenaustausch zweier rechner Java Basics - Anfänger-Themen 4
turmaline Gleicheit zweier Listen Java Basics - Anfänger-Themen 12
S Print Methode zweier "Classes" kombinieren Java Basics - Anfänger-Themen 2
C Dateiinhalt zweier Dateien auf Gleichheit prüfen Java Basics - Anfänger-Themen 3
S Addition zweier 32 Byte langer ByteArrays Java Basics - Anfänger-Themen 5
W Unterschiede zweier Dateien herauslesen Java Basics - Anfänger-Themen 7
P Unterschiede zweier System.in Varianten Java Basics - Anfänger-Themen 3
I Abhängigkeiten zweier Klassen Java Basics - Anfänger-Themen 25
G Vergleich zweier Arrays Java Basics - Anfänger-Themen 8
D Eine Nachkommazahl zweier Double vergleichen Java Basics - Anfänger-Themen 4
N sortieren zweier abhängiger array listen Java Basics - Anfänger-Themen 12
S Addieren zweier Arrays Java Basics - Anfänger-Themen 10
T ermittlung des minimus zweier eingegebener werte Java Basics - Anfänger-Themen 7
G größere zweier zahlen ermitteln und ausgeben Java Basics - Anfänger-Themen 6
G Summe zweier doubles falsch? Java Basics - Anfänger-Themen 10
I Kollision zweier Rechtecke Java Basics - Anfänger-Themen 9
H Genauigkeit beim Multiplizieren zweier Zahlen Java Basics - Anfänger-Themen 2
K Vergleich zweier Objekte in einer HashMap Java Basics - Anfänger-Themen 6
B Zusammenspiel zweier JFrames Java Basics - Anfänger-Themen 2
A Schnitt zweier Rechtecke ermitteln Java Basics - Anfänger-Themen 2
N Vergleich zweier Elemente verschiedener Vectoren Java Basics - Anfänger-Themen 2
G Vergleich zweier 'long'-Werte. Problem! Java Basics - Anfänger-Themen 6
T Inhalte zweier Variablen tauschen Java Basics - Anfänger-Themen 18
U Maximum zweier Zahlen ermitteln Java Basics - Anfänger-Themen 7
N Den Inhalt zweier Strings (Zahlen) addieren Java Basics - Anfänger-Themen 5
S maximum zweier Zahlen Java Basics - Anfänger-Themen 1
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
richis-fragen 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
J Java long- in int-Variable umwandeln Java Basics - Anfänger-Themen 6

Ähnliche Java Themen

Neue Themen


Oben