2016-09-19 16 views
-4

残りの関数が正しく計算されていません。私は数字を入力した後、(2-9)で割り切れる整数をユーザーに知らせるプログラムを書くことを試みています。私も5のように出て来ていたかを確認する、のprintln文を追加javaの残りの部分が正しく計算されていません

int five; 

    five = digit % 5; 

    if (five == 0) 
    { 
     System.out.println("This number is divisible by five!"); 
    } 
    else { 

    } 

    System.out.println(five); 

、そして私が入ったとき:文が常に数が条件に適合するか否かに関係なく実行している場合、私はこれで問題を抱えています

int five; 

    //five = digit % 5; 

    if (digit % 5 == 0) 
    { 
     System.out.println("This number is divisible by five!"); 
    } 
    else { 

    } 

    System.out.println(five); 

そして、まだ同じ結果を持つ:数36、それは私もこのフォーマットでそれを試してみましたが、私には1.べきである0の残りの部分を与えていました。

+2

もっとコードを見る必要があります。 'digit 'の* type *とは何ですか? – Bathsheba

+1

あなたは[mcve]を投稿できますか? – khelwood

+0

[ifが常に私に当てはまるとは思わない](http://ideone.com/NhjET1)。 –

答えて

0
public static int remainder(int dividend, int divisior){ 
      int remainder = dividend%divisior; 
      if(remainder==0){ 
       System.out.println("no remainder"); 
       return remainder; 
      } 
      else{ 
       System.out.println("Remainder is =>"+remainder); 
       return remainder; 
      } 
     } 
+0

@bordia plz上記のコードを確認して、それはあなたのために働くことができますか? – Roushan45

+0

はい、うまくいきました!ありがとうございました! – bordia

0

すべてがjavaモジュロ演算子で問題なく、私を信じています。 digit変数を手動で設定して結果を確認してください。すべて正常です。おそらく、キーボードから値を入力して間違った方法で変換して、変数を変更すると同時に残りの部分を変更するという問題があります。その場合は、単に使用します。

Scanner sc = new Scanner(System.in); 
int digit = sc.nextInt(); 

はまた、あなたの第二の方法はつもり印刷は何もありませんが、あなたはどこにでも fiveを初期化しません。

+0

私は5を初期化しましたが、Eranはそれを編集して表示されません。私はそれを考え出した。私の愚かな間違い。 – bordia

関連する問題