Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/333.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 我将Eclipse更新为光子,并建议这是一个bug吗?_Java - Fatal编程技术网

Java 我将Eclipse更新为光子,并建议这是一个bug吗?

Java 我将Eclipse更新为光子,并建议这是一个bug吗?,java,Java,我很困惑,并且失去了它,有人能告诉我这段代码有什么问题吗,所以我看不出来,我不明白为什么会这样,我准备纠正我似乎看不到的地方。请注意,我甚至尝试过调试,但出现了一个错误。在这里帮助一个妹妹。这是虫子吗?我正在研究这个问题,如果减法小于零,如果加法大于零,如果等于零,则使用数字行的思想 实习班: public class PracticeClass { public static void main(String[] args) { int arr [] = {-4

我很困惑,并且失去了它,有人能告诉我这段代码有什么问题吗,所以我看不出来,我不明白为什么会这样,我准备纠正我似乎看不到的地方。请注意,我甚至尝试过调试,但出现了一个错误。在这里帮助一个妹妹。这是虫子吗?我正在研究这个问题,如果减法小于零,如果加法大于零,如果等于零,则使用数字行的思想

实习班:

public class PracticeClass {


    public static void main(String[] args) {

        int arr [] = {-4 ,3, -9 ,0, 4 ,1 };
        getPlusMinus(arr);



    }   

    private static void getPlusMinus(int [] arr) {
        double plus = 0.0;
        double minus = 0.0;
        double zero = 0.0;

        int n = arr.length;
        for(int i = 0; i < n; i++){
            if(arr[i] > plus) {
                plus++;
            }
            if(arr[i] < minus) {
                minus++;
            }
            if(arr[i] == zero) {
                zero++;
            }
        }
        System.out.printf("%.6f %n",plus/n);
        System.out.printf("%.6f %n",minus/n);
        System.out.printf("%.6f %n",zero/n);

    }
但是相同的代码在不同的文件上

public class PlusMinusFraction {


    public static void main(String[] args) {
        // TODO Auto-generated method stub

        int arr [] = {-4 ,3, -9, 0, 4 ,1};

           plusMinus(arr);


    }

    private static void plusMinus(int[] arr) {
        // TODO Auto-generated method stub

        double plus = 0.0;
        double minus = 0.0;
        double zero = 0.0;

        int n = arr.length;

        for(int i = 0; i < n; i++) {

            if(arr[i] > 0) {
                plus++;
            }
            if(arr[i] < 0) {
                minus++;
            }
            if(arr[i] == 0) {
                zero++;
            }
        }

        System.out.printf("%.6f %n", plus/n);
        System.out.printf("%.6f %n", minus/n);
        System.out.printf("%.6f %n", zero/n);


    }


}

Eclipse只是一个IDE,它只是将程序输出重定向到某个窗口

你的程序是不同的,看看最后3行

方案1:

System.out.printf("%.6f %n",plus);
System.out.printf("%.6f %n",minus);
System.out.printf("%.6f %n",zero);
方案2:

System.out.printf("%.6f %n", plus/n);
System.out.printf("%.6f %n", minus/n);
System.out.printf("%.6f %n", zero/n);

你能看到这里的区别吗?另外,函数本身也有更多的差异。正如评论中所建议的,一个简单的文本diff会更有帮助。

正如一个简单的示例所示,它们根本不一样。实际上我忘了添加,它们都有/n,并且有不同的输出。Lol@shmosel试着运行这个项目。如果你的
还是不同的话。哈哈哈,@shmosel我知道我现在累了。明天再做这个。谢谢。很抱歉,他们所有人都有/n。我忘了在这里添加。有更多的差异,正如建议的那样,做一个简单的文本差异,你会发现变化。你能试着运行它吗。
System.out.printf("%.6f %n",plus);
System.out.printf("%.6f %n",minus);
System.out.printf("%.6f %n",zero);
System.out.printf("%.6f %n", plus/n);
System.out.printf("%.6f %n", minus/n);
System.out.printf("%.6f %n", zero/n);