# Boolean eingeben und vergleichen



## divad140 (22. Okt 2015)

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


```
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:



Vielen Dank schonmal 

ps: ich brächte nur ein kleines Beispiel wie ich das machen kann....


----------



## divad140 (23. Okt 2015)

ich habs!!! 

```
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
```


----------



## Maggot (23. Okt 2015)

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


```
//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:


```
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 (23. Okt 2015)

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!


----------



## divad140 (23. Okt 2015)

köttest du mir ein Beispiel zu Punkt eins geben? ich weiß nicht wirklich was du damit meinst.. DANKE


----------



## Maggot (23. Okt 2015)

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.


----------



## Saheeda (23. Okt 2015)

@Maggot 
Müsste oben nicht feld [0].equals ("ja") reichen (ohne das Ternäre)?. Das ist doch schon ein boolscher Ausdruck.


----------



## Maggot (23. Okt 2015)

Saheeda hat gesagt.:


> @Maggot
> Müsste oben nicht feld [0].equals ("ja") reichen (ohne das Ternäre)?. Das ist doch schon ein boolscher Ausdruck.


Aiaiai es war doch noch zu früh um ne Antwort zu schreiben x.x Du hast vollkommen recht! Danke.


----------

