0

負の数と 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);

    }
}
4

6 に答える 6

6

まず、=値を割り当てるためのものです。==比較に使います。

また、複数の行を実行する場合は{}、 afterステートメントifとステートメントを使用する必要があります。else

于 2013-10-09T08:39:33.947 に答える
4
   else if(backUp =  -1)

Should be

   else if(backUp == -1)

= assignment operator , == is for comparing

And finally with missed {}

  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. 
        }
于 2013-10-09T08:39:47.190 に答える
1

まず、インデント。

次に、特定の条件で複数のステートメントを実行したい場合は、 のようなコード ブロックに入れる必要がありますif(x) { /* do multiple things */ }

第 3 に、else if(backUp = -1)if 内にブール式が必要なため、無効でbackUp = -1あり、代入であるため、ブール値に評価されません (おそらく backUp == -1 が必要です)。

n = n/10; i++;そして、おそらくその部分をループさせたいと思うでしょう。

于 2013-10-09T08:45:37.097 に答える
1

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

于 2013-10-09T08:43:39.127 に答える