Die Beendigung des Programms mit if else-Anweisung?
versucht zu kündigen-Programm verwenden Sie negative zahlen, und wenn else-Anweisung . hat jemand sehen, was falsch mit diesem Dank.
import java.util.Scanner;
public class Assignment {
public static void main(String args[]){
int n;
int i=0;
System.out.print("Enter a Number:");
Scanner scanner = new Scanner(System.in);
n= scanner.nextInt();
int backUp = n;
if(n>0)
n=n/10;
i++;
else if(backUp = -1)
System.out.print("program terminated......");
System.exit(0);
System.out.println("Number of Digits in " +backUp +" is " +i);
}
}
- Sollten Sie die Klammern um die if-und else-Blöcken
{
und}
- Ich Frage mich, warum Sie nicht mit IDE 'Ursache, es scheint dein code könnte nicht auch erfolgreich kompiliert wurde. Ich sehe, Sie haben gefragt, was ist Los mit ihm..also compiler würde Antworten 🙂 und dann könnten wir diskutieren die Logik.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Zunächst
=
ist zum zuweisen von Werten. Verwenden==
für den Vergleich.Außerdem müssen Sie die Verwendung
{}
nachif
undelse
Aussagen, wenn Sie mehr als eine Zeile.if(n>0)
Teil, nur in der nächsten Zeile wird abhängig von derif
- Anweisung, die nächste Zeile (i++
) wird immer ausführen, dann dieelse if
resultiert in einem Syntaxfehler, weil es nicht sofort nach einer if-Anweisung.System.exit(0)
sollte aufgerufen werden, wenn man Sie verlässt. (-1)-1
führen Sie das Programm beenden, aber alle anderen Eingaben nicht.if
Aussagen in{}
verhindert dumme Fehler wie die Vorgestellte - IMHOSollte
Zuweisungsoperator =
==
ist für den VergleichUnd schließlich verpasste
{}
Ihnen fehlt
{ }
für Ihreif
-Aussagen. Inif
Aussagen ohne die{ }
nur die Zeile nach der if-Anweisung wird beeinflusst durch das Ergebnis derif-test
.Also:
ausgeführt wird
doSomething()
wenncondition == true
unddoSomethingElse()
egal obcondition == true
.ausgeführt wird sowohl
doSomething()
unddoSomethingElse()
, wenn und nur wenn die Bedingung == true.Sind Sie mit einem Zuweisungs-operator zum auswerten einer Bedingung.
sollte
entfernen
else
verwendenif(backup==-1).
if
undif else
.Zunächst Ihre Einrücken.
Zweitens, wenn Sie möchten ausführen mehrere Anweisungen bei einer bestimmten Bedingung, die Sie benötigen, um es in einen code-block wie
if(x) { /* do multiple things */}
.Drittens, Ihre
else if(backUp = -1)
ist ungültig, da müssen Sie einen booleschen Ausdruck in einer, wennbackUp = -1
ist eine Zuweisung und somit nicht zu einem booleschen Wert ausgewertet (werden Sie wahrscheinlich wollen, - Sicherung == -1).Und Sie wahrscheinlich wollen, um eine Schleife der
n = n/10; i++;
Teil, denn jetzt wird es nie mehr zählen als 1 digit.