java接口问题(请忽略我笨拙的手法)

这是比较和排序的

img


这是计算面积的

img


其他图形的面积都是这样写的。
但是输出是这样

img


我搜过了,对象之间不能赋值,然后我就传了一下函数swap,用值调换。
但是为什么输出后面值都为0呢

对了,这个用的是接口

回答:这傻孩子,Java需要采用引用类型进行传递,才可以改变;你的swap需要直接写在循环里面了,不能通过函数实现;
然后感觉你代码没给全;这里进行简单swap的演示

img

package test;

/**
 * @author bbyh
 * @date 2022/11/22 0022 23:11
 * @description
 */
public class Test {
    public static void main(String[] args) {
        double a = 1.0;
        double b = 2.0;
        System.out.println("外侧交换前: " + a + " " + b);
        swap(a, b);

        System.out.println("外侧交换后: " + a + " " + b);
    }

    private static void swap(double a, double b) {
        double temp = a;
        a = b;
        b = temp;

        System.out.println("内侧交换后: " + a + " " + b);
    }
}

你的代码感觉没有写全,所以不确实是不是这个问题引起的,你可以把你的代码贴一下