Boolean eingeben und vergleichen

divad140

Mitglied
Hallo zusammen,

folgendes Problem:
so wie ich den Code geschrieben habe kann ich die Eingaben als Strings vergleichen, ich will die Aufgabe aber mit Boolean lösen, nur ich weiß leider nicht wie ich die Strings "Ja" oder "Nein" (das sind die Eingaben die gemacht werden können) in Boolische Variablen bekomme. Bzw. den Variablen den Wert "Ja" = true zuweise.

PS:die aufgabe steht unten

Java:
import javax.swing.*;

public class Aufgabe4neu {

  public static void main(String[] args) {
  String a;
  String g;
  String t;
  String c;
 
  String ausgabe;
 
  String ja, nein;
  ja="ja";
  nein="nein";
 
  JTextField [] feld = {new JTextField(), new JTextField(), new JTextField(), new JTextField()};
  Object[] msg = {"Symtom A:", feld[0], "Symtom G:", feld[1], "Symtom T:", feld[2], "Symtom C;" , feld[3]};

  int click = JOptionPane.showConfirmDialog(null, msg, "Ausgabe", 2);

  a = (feld[0].getText());
  g = (feld[1].getText());
  t = (feld[2].getText());
  c = (feld[3].getText());

  if (a.equals(ja) {
  JOptionPane.showMessageDialog(null, "ok");

hier die Aufgabe:
upload_2015-10-22_23-10-18.png
upload_2015-10-22_23-9-55.png

Vielen Dank schonmal :)

ps: ich brächte nur ein kleines Beispiel wie ich das machen kann....
 
Zuletzt bearbeitet von einem Moderator:

divad140

Mitglied
ich habs!!! :):)
Java:
import javax.swing.*;

public class Aufgabe4neu {

  public static void main(String[] args) {
  boolean a;
  boolean g;
  boolean t;
  boolean c;
  String ausgabe;
  
  //Textfelder aufbauen
  
  JTextField [] feld = {new JTextField(), new JTextField(), new JTextField(), new JTextField()};
  Object[] msg = {"Symtom A:", feld[0], "Symtom T:", feld[1], "Symtom G:", feld[2], "Symtom C;" , feld[3]};

  int click = JOptionPane.showConfirmDialog(null, msg, "Ausgabe", 2);

  //Parsen in Boolean und ja und nein ersetzen
  a = Boolean.parseBoolean(feld[0].getText().replace("ja", "true").replace("nein", "false"));
  t = Boolean.parseBoolean(feld[1].getText().replace("ja", "true").replace("nein", "false"));
  g = Boolean.parseBoolean(feld[2].getText().replace("ja", "true").replace("nein", "false"));
  c = Boolean.parseBoolean(feld[3].getText().replace("ja", "true").replace("nein", "false"));


  //If-Anweisung mit logischen boolischen Formeln und Ausgabe
  if (!a&&c&&t) {
  JOptionPane.showMessageDialog(null, "negativ");
  }else{
  if ((a&&t&&!g&&c)|(a&&t&&g&&!c)|(!a&&!t&&g&&!c)|(a&&!t&&g&&c)) {
  JOptionPane.showMessageDialog(null, "positiv");
  }else{
  JOptionPane.showMessageDialog(null, "Symtom unbekannt");
  }
  }  

  } // end of main

} // end of class Aufgabe4
 
Zuletzt bearbeitet von einem Moderator:

Maggot

Bekanntes Mitglied
Hallo. Sehr schön das du selber den Fehler gefunden hast. So lernt man am meisten und ist auch stolz auf sich :)

Ich habe noch 3 kleine Anmerkungen:

1.) Bitte verwende die [ CODE = JAVA] und [/ CODE ] Tags (ohne Leerzeichen und klein geschrieben). Dann ist dein Code gleich viel lesbarer.
2.) Du könntest statt

Java:
//Parsen in Boolean und ja und nein ersetzen
a = Boolean.parseBoolean(feld[0].getText().replace("ja", "true").replace("nein", "false"));
t = Boolean.parseBoolean(feld[1].getText().replace("ja", "true").replace("nein", "false"));
g = Boolean.parseBoolean(feld[2].getText().replace("ja", "true").replace("nein", "false"));
c = Boolean.parseBoolean(feld[3].getText().replace("ja", "true").replace("nein", "false"));

auch folgendes verwenden:

Java:
a = (feld[0].equals("ja") ? true : false);

Das macht folgendes: Es wird geschaut ob der Ausdruck "feld[0].equals("ja")" Wahr ist, dann nimmt er das true, ansonsten macht er das false.

3.) Warum verwendest du nicht statt a, t, g und c auch einen Array? Wäre eventuell sogar eine nette Übung :)
 

divad140

Mitglied
Huhu,

Danke für deine Antwort ich werde den Code nochmal überarbeiten.

zu2) Genau das was du in Punkt 2 geschrieben hast habe ich gesucht, aber dann habe ich es mit replace gemacht, müsste ja trotzdem richtig sein deke ich, also das Programm funzt wunderbar :)

zu3) Arrays hatten wir in der Uni noch nicht, aber ich werd es mal versuchen :)

Danke sehr! :)
 

Maggot

Bekanntes Mitglied
Einfach bevor du im Forum einen Code postest, die Tags drumherum packen.

Zu den Arrays: du verwendest ja schon ArraS. Schau dir mal die Feld Variable an.
 

Neue Themen


Oben