java中的余数未正确计算

时间:2016-09-19 11:18:39

标签: java

我的余数函数没有正确计算我遇到了问题。我正在尝试编写一个程序,告诉用户输入一个数字之后它可以被(2-9)整除的整数。无论数字是否符合条件,我都遇到问题if if语句总是在运行:

    int five;

    five = digit % 5;

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

    }

    System.out.println(five);

我还添加了一个println语句,看看五个是什么,当我输入数字36时,它给了我一个0的余数,应该是1.我也尝试过这种格式:< / p>

    int five;

    //five = digit % 5;

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

    }

    System.out.println(five);

仍然有相同的结果。

2 个答案:

答案 0 :(得分: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;
            }
        }

答案 1 :(得分:0)

java modulo运算符一切都很好,相信我。尝试手动设置digit变量并检查结果,一切都会好的。问题可能是你从键盘输入值并以某种错误的方式转换它,从而改变变量,同时改变其余部分。如果是这种情况,只需使用:

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

另外,你的第二种方法是不打印任何东西,你不会在任何地方初始化five