Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/321.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
java中的余数计算不正确_Java - Fatal编程技术网

java中的余数计算不正确

java中的余数计算不正确,java,Java,我的余数函数无法正确计算。我正试图编写一个程序,告诉用户在输入一个数字后,哪些整数可以被2-9整除。无论数字是否符合条件,此if语句始终运行时我遇到问题: int五 five = digit % 5; if (five == 0) { System.out.println("This number is divisible by five!"); } else { } System.out.println(five);

我的余数函数无法正确计算。我正试图编写一个程序,告诉用户在输入一个数字后,哪些整数可以被2-9整除。无论数字是否符合条件,此if语句始终运行时我遇到问题: int五

    five = digit % 5;

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

    }

    System.out.println(five);
    //five = digit % 5;

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

    }

    System.out.println(five);\
我还添加了一个println语句,以查看五是什么,当我输入数字36时,它给了我一个0的余数,应该是1。我也尝试过这种格式: int五

    five = digit % 5;

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

    }

    System.out.println(five);
    //five = digit % 5;

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

    }

    System.out.println(five);\

而且仍然有相同的结果。

相信我,使用java模运算符一切都很好。尝试手动设置数字变量并检查结果,一切正常。问题可能是您从键盘输入值,然后以错误的方式进行转换,从而更改了变量,同时更改了余数。如果是这种情况,请使用:

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;
            }
        }
扫描仪sc=新的扫描系统.in; 整数位数=sc.nextInt;
另外,第二种方法不会打印任何内容,也不会在任何地方初始化5。

我们需要查看更多代码。数字的类型是什么?你能发布一个请?@bordia plz检查上面的代码,让它为你工作吗?我初始化了五个,但Eran编辑了它,所以它不会显示。不过我想出来了。我犯了愚蠢的错误。