把金环切成两半

mw3dktmi  于 2021-06-29  发布在  Java
关注(0)|答案(0)|浏览(139)

欢迎任何关于这个题目的建议。我已经编写了这个简单的切片类,它只存储开始位置的度数,以及它到结束的度数(逆时针方向)。我的问题是,我甚至想不出一种方法可以帮助我编写一个函数,它接受两个片a和b,并返回一个片数组。如果b完全包含在a中,则返回一个只有b元素的单元素数组。但如果b与a重叠,则返回一个两元素数组,其中项0是b被a重叠的部分,项1是b的其余部分(不被a重叠的部分)。b的非重叠部分只能逆时针跟随a,不能在a之前。

static public Slice[] cutSlice(Slice A, Slice B){
    Slice[] slices = new Slice[2];
    //problem here
    return slices;
}
class Slice{
    public double degree;
    public double startPositionInDegree;
    Slice(double startPositionInDegree, double degree){
        this.startPositionInDegree = startPositionInDegree % 360;
        this.degree = degree;
    }

    @Override
    public String toString() {
        return "Starts at: " + startPositionInDegree + "\nAnd is " + degree + " long";
    }
}

如果你有困难理解我附上了一个图像,应该有帮助。

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题