Как сделать так, чтобы функция возвращала 2 и более значений?

162
04 августа 2021, 17:40

У меня есть функция, которая должна возвращать сразу 4 значения. Как сделать так, чтоб это стало возможным?

public static int intersection(int x1,int y1,int x2,int y2,int x3,int y3,int x4,int y4) {
    int ax = Math.max(x1, x3);
    int bx=Math.min(x2, x4);
    int ay= Math.max(y1, y3);
    int by=Math.max(y2, y4);
    if(bx<ax||by<ay) {
        return 0,0,0,0;
    }
    else {
        return ax,bx,ay,by;
    }
}
Answer 1

Получается ведь прямоугольник? Тогда надо использовать заложенный в Java ООП, и создавать классы, примерно вот так:

class Point {
    int x, y;
    public Point(int x, int y) {
        this.x = x;
        this.y = y;
    }
}
class Rectangle {
    Point a, b;
    public Rectangle(Point a, Point b) {
        this.a = a;
        this.b = b;
    }
    public Rectangle intersect(Rectangle other) {
        int x1 = a.x;
        int x2 = b.x;
        int y1 = a.y;
        int y2 = b.y;
        int x3 = other.a.x;
        int x4 = other.b.x;
        int y3 = other.a.y;
        int y4 = other.b.y;
        int ax = Math.max(x1, x3);
        int bx=Math.min(x2, x4);
        int ay= Math.max(y1, y3);
        int by=Math.max(y2, y4);
        if(bx<ax||by<ay) {
            return new Rectangle(new Point(0, 0), new Point(0, 0));
        }
        else {
            return new Rectangle(new Point(ax, ay), new Point(bx, by));
        }
    }
}
READ ALSO
Есть ли возможность узнать индекс считываемоего из .txt символа?

Есть ли возможность узнать индекс считываемоего из .txt символа?

Необходимо считывать из несколькихtxt файлов построчно символы и записывать в массив

248
Как связать select и input text

Как связать select и input text

Есть примерно такая структураКак можно сделать,чтобы выбор option прописывался в input? Допустим,стоит инпут,возле него селект,допустим,пользователь...

201