hilfe bei verbesserung von code

lennero

Bekanntes Mitglied
der code soll sobald start eingegeben wird wörter einlesen und wenn ende eingegeben wird soll statt ende ein punkt ausgegeben werden. am ende wird mit der dialogbox ein satz ausgegeben der aus den wörtern besteht. allerdings wird am ende das "ende" mit ausgegeben wird also nicht vom punkt überschrieben. wie kann ich das machen?

Java:
import javax.swing.JOptionPane;

public class satz{
    public static void main(String[]args){
        String satz = "";
        String eingabe;
   
        do{      
            eingabe=JOptionPane.showInputDialog("Geben sie ein Wort ein");        
        }
        while (!eingabe.equals("start"));
   
        do{      
            eingabe=JOptionPane.showInputDialog("Geben sie ein Wort ein");
            satz+=" "+eingabe;
        }
        while (!eingabe.equals("ende"));
        satz+=".";
        JOptionPane.showMessageDialog(null,"Der Satz lautet"+satz);
   
    }
}
 

Khal Drogo

Bekanntes Mitglied
Java:
do {
  // eingabe = ...
  if(eingabe.equals("ende") {
    // ...
  } else {
    // ...
  }
} while (!eingabe.equals("ende"));

Mit freundlichen Grüßen
Xelsarion
 

lennero

Bekanntes Mitglied
so ?

Java:
import javax.swing.JOptionPane;

public class satz{
    public static void main(String[]args){
        String satz = "";
        String eingabe;
   
        do{      
            eingabe=JOptionPane.showInputDialog("Geben sie ein Wort ein");        
        }
        while (!eingabe.equals("start"));
   
        do{      
            eingabe=JOptionPane.showInputDialog("Geben sie ein Wort ein");
            satz+=" "+eingabe;
          
            if(eingabe.equals("ende")){
                eingabe=".";
            }
          
            else {
              
              
            }
          
        }
        while (!eingabe.equals("ende"));
        satz+=".";
        JOptionPane.showMessageDialog(null,"Der Satz lautet"+satz);
   
    }
}
 

Tobse

Top Contributor
Hast du den Code getestet, den du gepostet hast? Ich wette nicht, er wird nämlich nicht funktionieren.

Was macht satz+=" "+eingabe; ? Und wie wirkt sich das auf den satz-String aus, dort wo es momentan steht?

Wenn du diese zwei Fragen beantworten kannst fällt dir vielleicht auch ein, wo du das satz+=" "+eingabe; hinschreiben kannst, damit der Code funktioniert.
 

Khal Drogo

Bekanntes Mitglied
  1. Müsstest du eingabe verändern, bevor du es hinzufügst.
  2. Kannst du es dann auch direkt hinzufügen, statt es zu verändern.
  3. Ist satz += "."; dann redundant.
Mit freundlichen Grüßen
Xelsarion
 

lennero

Bekanntes Mitglied
Hast du den Code getestet, den du gepostet hast? Ich wette nicht, er wird nämlich nicht funktionieren.

Was macht satz+=" "+eingabe; ? Und wie wirkt sich das auf den satz-String aus, dort wo es momentan steht?

Wenn du diese zwei Fragen beantworten kannst fällt dir vielleicht auch ein, wo du das satz+=" "+eingabe; hinschreiben kannst, damit der Code funktioniert.

mit satz+=" "+eingabe wird dem leeren string satz ein leerzeichen und das eingegebene wort hinzugefügt. es steht bei do while(!end) damits erst nach eingabe von begin hinzugefügt wird.

wenn ich also sage if(eingabe.equals(ende){satz+="." }

else {
satz+=" "+eingabe
}

fügt er im falle "ende" dem leeren string nur einen punkt hinzu ?

ich kann es erst morgen testen aber so müsste es doch klappen oder?
 

lennero

Bekanntes Mitglied
jetzt tuts was es soll danke!

Java:
import javax.swing.JOptionPane;

public class satz{
    public static void main(String[]args){
        String satz = "";
        String eingabe;
        do{      
            eingabe=JOptionPane.showInputDialog("Geben sie ein Wort ein");        
        }
        while (!eingabe.equals("begin"));
        do{      
            eingabe=JOptionPane.showInputDialog("Geben sie ein Wort ein");
            if(eingabe.equals("end")){
                     satz+=".";
            }  else {
                  satz+=" "+eingabe;
            }
        }
        while (!eingabe.equals("end"));
        JOptionPane.showMessageDialog(null,"Der Satz lautet"+satz);
    }
}
 
Zuletzt bearbeitet von einem Moderator:

Neue Themen


Oben