Riešenia (skupina A, 8. týždeň)

public class Bod {

        private double x;
        private double y;

        public double getX() {
                return x;
        }

        public void setX(double x) {
                this.x = x;
        }

        public double getY() {
                return y;
        }

        public void setY(double y) {
                this.y = y;
        }

        public Bod(double x, double y) {
                this.x = x;
                this.y = y;
        }

        public Bod() {
                this(0, 0);
        }

        public String toString() {
                return "[" + x + ", " + y + "]";
        }

        public void nastav(double x, double y) {
                setX(x);
                setY(y);
        }

        public void nastav(Bod bod) {
                setX(bod.getX());
                setY(bod.getY());
                // this.x = bod.x;
        }

        public boolean rovnakeSuradnice(Bod bod) {
                return (bod.x == x) && (bod.y == y);
        }

        public double vzdialenostK(double x, double y) {
                return Math.sqrt((this.x - x) * (this.x - x) + (this.y - y)
                                * (this.y - y));
        }

        public double vzdialenostK(Bod bod) {
                return vzdialenostK(bod.x, bod.y);
        }

        public void posunO(double dx, double dy) {
                setX(getX() + dx);
                setY(getY() + dy);
        }

        public Bod posunutyBod(double dx, double dy) {
                return new Bod(getX() + dx, getY() + dy);
        }
}
public class ZoznamBodov {

        private Bod[] body;

        public ZoznamBodov() {
                body = new Bod[0];
        }

        public int dlzka() {
                return body.length;
        }

        public void pridajBod(Bod bod) {
                Bod[] noveBody = new Bod[body.length + 1];
                for (int i = 0; i < body.length; i++) {
                        noveBody[i] = body[i];
                }
                noveBody[body.length] = bod;
                body = noveBody;
        }

        public Bod dajBod(int index) {
                return body[index];
        }

        public void vymaz() {
                body = new Bod[0];
        }

        public double dlzkaSpojnic() {
                double vysledok = 0;
                for (int i = 0; i < body.length - 1; i++) {
                        vysledok = vysledok + body[i].vzdialenostK(body[i + 1]);
                }

                return vysledok;
        }

        public String toString() {
                StringBuilder sb = new StringBuilder();

                sb.append("[");
                for (int i = 0; i < body.length - 1; i++) {
                        sb.append(body[i].toString());
                        sb.append(", ");
                }

                if (body.length != 0) {
                        sb.append(body[body.length - 1].toString());
                }

                sb.append("]");

                return sb.toString();
        }
}

public class KurzovyListok {
        private String[] meny;
        private double[] kurzy;

        public KurzovyListok() {
                meny = new String[0];
                kurzy = new double[0];
        }

        public int vratIndexMeny(String kodMeny) {
                for (int i=0; i < meny.length; i++) {
                        if (meny[i].equals(kodMeny)) {
                                return i;
                        }
                }

                return -1;
        }

        public void nastavKurz(String kodMeny, double kurz) {
                int idx = vratIndexMeny(kodMeny);
                if (idx < 0) {
                        String[] noveMeny = new String[meny.length+1];
                        System.arraycopy(meny, 0, noveMeny, 0, meny.length);
                        noveMeny[meny.length] = kodMeny;

                        double[] noveKurzy = new double[kurzy.length+1];
                        System.arraycopy(kurzy, 0, noveKurzy, 0, kurzy.length);
                        noveKurzy[kurzy.length] = kurz;

                        kurzy = noveKurzy;
                        meny = noveMeny;
                } else {
                        kurzy[idx] = kurz;
                }
        }
}