有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java方法输出取决于范围外的先前代码?

我有以下代码:

    public static void method1(int v, int t) {
        float sum = 0;

        for (int j = 1; j <= t; j++) {
            GG g = new GG();
            MS ms = new MS();
            Graph graph = g.generate1(v);
            total_sum += ms.run(graph, v);
        }
        System.out.println("N = " + Integer.toString(v) +" sum: " + Float.toString(sum / (float) t));
    }

    public static void method2(int v, int t) {
        float sum = 0;

        for (int j = 1; j <= t; j++) {
            GG g = new GG();
            MS ms = new MS();
            Graph graph = g.generate2(v);
            sum += ms.run(graph, v);
        }
        System.out.println("N = " + Integer.toString(v) +" sum: " + Float.toString(sum / (float) t));
    }

    public static void main() {
        for (int i = 0; i <= 18; i++) {

            int  n          = 1 << i;
            method1(n, 5);
        }

        for (int i = 0; i <= 18; i++) {
            int  n          = 1 << i;
            method2(n, 5);
        }

如果我在main中包含第一个for循环(包含method1),那么method2得到的答案与省略第一个for循环得到的答案不同。有人知道为什么会这样吗?如果第一个for循环的结果和第二个for循环的结果在不同的范围内,它们会如何影响?我在每个方法中实例化新对象,所以我不确定为什么会出现这种情况


共 (0) 个答案