B9

Streda

package sk.upjs.paz.task9;

public class Bod {

        private double x;
        private double y;

        public Bod() {

        }

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

        public double getX() {
                return this.x;
        }

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

        public double getY() {
                return this.y;
        }

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

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

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

        public boolean rovnakeSuradnice(Bod bod) {
                return this.x == bod.getX() && this.y == bod.getY();
//              if (this.x == bod.getX() && this.y == bod.getY())              
//                      return true;
//              return false;          
        }

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

        public double vzdialenostK(Bod bod) {
                return vzdialenostK(bod.getX(), bod.getY());
        }

        public void posunO(double dx, double dy) {
                x = x + dx;
                y = y + dy;
//              nastav(x + dx, y + dy);
        }

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

        public Bod posunutyBod(double dx, double dy) {
                Bod b = new Bod();
                b.nastav(this);
                b.posunO(dx, dy);
                return b;
        }

}
 
package sk.upjs.paz.task9;

public class Launcher {

        public static void main(String[] args) {
                Bod a = new Bod(0, 0);
                Bod b = new Bod(1, 0);
                a.nastav(200, 785);
                a.nastav(b);

                a.posunO(20, -50);

                Bod c = a.posunutyBod(1, 1);
                System.out.println(a.toString());
                System.out.println(b.toString());
                System.out.println(c.toString());

        }

}
 

Štvrtok

package sk.upjs.paz.task9;

import java.util.Arrays;

public class ZoznamBodov {

        private Bod[] poleBodov;

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

        public int dlzkaPola() {

                return this.poleBodov.length;
        }

        public void pridajBod(Bod bod) {
                Bod[] docasnePole = new Bod[this.poleBodov.length + 1];
                for (int i = 0; i < this.poleBodov.length; i++) {
                        docasnePole[i] = this.poleBodov[i];
                }
                docasnePole[docasnePole.length - 1] = bod;
                poleBodov = docasnePole;
        }

        public String toString() {
                // [[10, 10], [12.5, 19], [34, 100.3]]
                StringBuilder vypis = new StringBuilder();
                vypis.append('[');
                for (int i = 0; i < poleBodov.length; i++) {
                        vypis = vypis.append(poleBodov[i]);
                        if (i < poleBodov.length - 1) {
                                vypis.append(", ");
                        }
                }
                vypis.append(']');
                return vypis.toString();
        }

        public String toStringNaJedenRiadok() {
                return Arrays.toString(poleBodov);
        }

        public Bod dajBod(int index) {
                if (index < 0) {
                        return null;
                }
                if (index > poleBodov.length) {
                        return poleBodov[poleBodov.length - 1];
                }
                return poleBodov[index];
        }

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

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

        public void odoberBod(int index) {

        }

}
 
package sk.upjs.paz.task9;

public class Launcher {

        public static void main(String[] args) {
                Bod a = new Bod(0, 0);
                Bod b = new Bod(1, 0);
                // a.nastav(200, 785);
                // a.nastav(b);

//              a.posunO(20, -50);

//              Bod c = a.posunutyBod(1, 1);
                Bod c = new Bod(1, 1);
                System.out.println(a.toString());
                System.out.println(b.toString());
                System.out.println(c.toString());

                ZoznamBodov zb = new ZoznamBodov();
                zb.pridajBod(a);
                zb.pridajBod(b);
                zb.pridajBod(c);
                System.out.println(zb.toStringNaJedenRiadok());
//              System.out.println(zb.dajBod(10));
//              zb.vymaz();
                System.out.println(zb.toString());
                System.out.println(zb.dlzkaSpojnic());

        }

}