使用if else语句终止程序?

时间:2013-10-09 08:38:13

标签: java

尝试使用负数和if else语句终止程序。有没有人看到这个问题的错误。

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);

    }
}

6 个答案:

答案 0 :(得分:6)

首先,=用于分配值。使用==进行比较。

此外,如果您想要运行多行,则需要在{}if语句后使用else

答案 1 :(得分:4)

   else if(backUp =  -1)

应该是

   else if(backUp == -1)

=赋值运算符,==用于比较

最后错过{}

  if (n > 0) {
            n = n / 10;
            i++;
   } else if (backUp == -1) {
            System.out.print("program terminated......");
            System.exit(0);
   }else{
          // do something else. I have no idea. 
        }

答案 2 :(得分:2)

您的{ }语句缺少if。在没有if的{​​{1}}语句中,只有if语句后面的行会受到{ }结果的影响。

所以:

if-test
如果if (condition) doSomething(); doSomethingElse(); doSomething() condition == true

将执行doSomethingElse()

condition == true
当且仅当条件== true时,

才会执行if (condition) { doSomething(); doSomethingElse(); } doSomething()

答案 3 :(得分:1)

您正在使用赋值运算符来评估条件。

else if(backUp = -1)

应该是

else if(backup == -1)

答案 4 :(得分:1)

删除else使用if(backup==-1).

答案 5 :(得分:1)

首先是你的缩进。

其次,如果要在给定某个条件的情况下执行多个语句,则需要将其放在像if(x) { /* do multiple things */ }这样的代码块中。

第三,你的else if(backUp = -1)无效,因为在if中需要一个布尔表达式,backUp = -1是一个赋值,因此不会求值为布尔值(你可能想要backUp == -1)。

你可能想要循环n = n/10; i++;部分,因为它现在永远不会超过1位。