Warum tut der compiler beschweren", während erwartet", wenn ich versuche, um mehr code?

Schreiben Sie ein Programm, mit dem ein Wort mit @ - Zeichen als Eingabe. Wenn das Wort nicht enthalten,@, sollte es den Benutzer auffordern, ein Wort mit @. Einmal ein Wort mit @ gelesen, es sollte die Ausgabe der word dann beenden.

Dies ist, was ich bisher getan habe:

public class find {
    public static void main(String[] args) {

        System.out.println(" Please enter a word with @ ");
        Scanner scan = new Scanner(System.in);

        String bad = "@";

        String word = scan.next();
        do
            if (!word.contains(bad))
                System.out.println(" Please try again ");
            else
                System.out.println(" " + word);
        while (!word.contains(bad));
    }
}

Kann ich es zu beenden, nach der ein Wort mit "@" wird als input, aber wenn ich versuche, fügen Sie einen Scanner, um die Zeile nach "bitte versuchen Sie es erneut", heißt es while expected.

  • Es ist immer besser, do/while, if/else,for, etc., code umgeben mit öffnen/schließen-Spange.
  • Was ist Ihre Frage? Funktioniert dein code kompilieren? Wenn nicht, was ist die genaue Fehlermeldung. Kopieren und fügen Sie es hier, damit wir Ihnen helfen können.
  • Du meinst Klammern. Aber ehrlich gesagt würde dies wie erwartet ausgeführt, da gibt es nicht mehrere Anweisungen in den block.
  • Ich denke, dass Problem mit do/while.
  • poste es als Antwort, da der OP will ein neues Wort Lesen, auf jeder Schleife Klammern sind erforderlich, weil diese Beträge in die 2 Aussagen.
  • dies würde wie erwartet ausgeführt, ja. Allerdings wäre es schwierig, ein anderes add-Anweisung wie eine Schleife, das ist genau das problem, das der OP beschreibt.
  • Hinzugefügt als Antwort.
  • Ja, ich bin mir bewusst, dass dies funktionieren würde, aber es gibt ernsthafte Probleme mit ihm anders. Lediglich den Hinweis es aus.
  • ok, ich habe den Klammern und jetzt wenn ich versuche, um einen anderen scanner in der if-Anweisung nach "Bitte versuchen Sie es erneut" es sind Fehler beim kompilieren sagt "else" ohne " wenn "
  • Jetzt wieder, fügen Sie Klammern um die if-Anweisung....

InformationsquelleAutor user1893578 | 2012-12-11
Schreibe einen Kommentar