欢迎任何关于这个题目的建议。我已经编写了这个简单的切片类,它只存储开始位置的度数,以及它到结束的度数(逆时针方向)。我的问题是,我甚至想不出一种方法可以帮助我编写一个函数,它接受两个片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";
}
}
如果你有困难理解我附上了一个图像,应该有帮助。
暂无答案!
目前还没有任何答案,快来回答吧!