C10

4.12.2012

import java.util.Comparator;

public class UtriedPodlaDlzky implements Comparator<String> {

        @Override
        public int compare(String o1, String o2) {
                if (o1.length()<o2.length()) return -1;
                if (o1.length()>o2.length()) return 1;
                if (o1.length()==o2.length()) {
                        if (o1.equals(o2)) return 0;
                        else return o1.compareTo(o2);
                }

                return 0;
        }

}
public class Spustac {

        public static void main(String[] args) {

                BodovyPorovnavac porovnavac = new BodovyPorovnavac();
                Bod b2 = new Bod(80, 60);
                Bod b1 = new Bod(80, 60);

                System.out.println(b1.compareTo(b2));

                System.out.println(porovnavac.compare(b1, b2));
                UtriedPodlaDlzky porovnavac2 = new UtriedPodlaDlzky();
                System.out.println(porovnavac2.compare("Slovo", "slovo"));

        }

}
import java.util.Comparator;

public class BodovyPorovnavac implements Comparator<Bod> {

        Bod defaultny = new Bod(100, 50);

        @Override
        public int compare(Bod b1, Bod b2) {

                double vzdialenost1 = b1.vzdialenost(defaultny);
                double vzdialenost2 = b2.vzdialenost(defaultny);
                if (vzdialenost1 < vzdialenost2)
                        return 1;
                else {
                        if (vzdialenost1 == vzdialenost2)
                                return 0;
                        else
                                return -1;
                }
        }

}
public class Bod implements Comparable<Bod> {

        private double x;
        private double y;

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

        public Bod() {
                super();
                this.x = 0;
                this.y = 0;
        }

        public double getX() {
                return x;
        }

        public void setX(double x) {
                if (x < 0) {
                        System.err.println("mimo pola");
                } else {
                        this.x = x;
                }
        }

        public double getY() {
                return y;
        }

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

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

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

        boolean rovnakeSuradnice(Bod bod) {
                if (bod.getX() == this.getX() & bod.getY() == this.getY()) {
                        return true;
                } else {
                        return false;
                }
        }

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

        double vzdialenost(double x, double y) {
                double vzdialenostX = x - this.x;
                double vzdialenostY = y - this.y;
                double vzd = Math.sqrt(vzdialenostX * vzdialenostX + vzdialenostY
                                * vzdialenostY);
                return vzd;
        }

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

        void posunO(double dx, double dy) {
                setX(getX() + dx);
                setY(getY() + dy);
        }
        Bod posunutyBod(double dx, double dy){
                Bod novy=new Bod(this.getX(),this.getY());
                novy.posunO(dx, dy);
                return novy;
        }

        @Override
        public int compareTo(Bod b2) {
                Bod defaultny = new Bod(100, 50);

                double vzdialenost1 = defaultny.vzdialenost(x, y);
                double vzdialenost2 = defaultny.vzdialenost(b2);
                if (vzdialenost1 < vzdialenost2)
                        return 1;
                else {
                        if (vzdialenost1 == vzdialenost2)
                                return 0;
                        else
                                return -1;
                }
        }
}

7.12.2012

import java.util.Arrays;

import sk.upjs.test.FarebnyBod;
import sk.upjs.test.ZoznamBodov;

public class Spustac {

        public static void main(String[] args) {

                /*UtriedPodlaDlzky porovnavac2 = new UtriedPodlaDlzky();
                System.out.println(porovnavac2.compare("S", "s"));
                String[] pole = {"turtle","car","auto","sun","skola"};
                String[] pole2 = {"upjs", "misko", "bajty"};

                porovnavac2.utriedPole(pole);
                System.out.println(Arrays.toString(pole));

                System.out.println(porovnavac2.getPocetPorovnani());
                //porovnavac2.resetujPocitadlo();

                porovnavac2.utriedPole(pole2);
                System.out.println(Arrays.toString(pole2));
                System.out.println(porovnavac2.getPocetPorovnani());*/


                FarebnyBod bod = new FarebnyBod(150, 150);
                System.out.println(bod.toString());

                FarebnyBod bod2 = new FarebnyBod(150, 150);
                System.out.println(bod2.toString());

                System.out.println(bod.equals(bod2));

                ZoznamBodov zoznam = new ZoznamBodov(10, 100, 30, 150, 10);

        }
}
import java.util.Comparator;

public class UtriedPodlaDlzky implements Comparator<String> {
                private int pocitadlo = 0;

        public int getPocetPorovnani() {
                        return pocitadlo;
                }
                public void resetujPocitadlo() {
                        this.pocitadlo = 0;
                }
                @Override
        public int compare(String o1, String o2) {
                if (o1.length()<o2.length()) return -1;
                if (o1.length()>o2.length()) return 1;
                if (o1.length()==o2.length()) {
                        if (o1.equals(o2)) return 0;
                        else return o1.compareTo(o2);
                }

                return 0;
        }
     public void utriedPole (String[] pole){
         String pomocna;
        for (int i=0; i<pole.length;i++){
                for (int j=1+i; j<pole.length;j++){
                        System.out.println(pole[i] + " " + pole[j]);
                        pocitadlo++;

                        if (this.compare(pole[i], pole[j])>0){
                                pomocna = pole[i];
                                pole[i]=pole[j];
                                pole[j]=pomocna;
                        }
                }
        }

     }

}
package sk.upjs.test;

import java.awt.Color;
import java.awt.geom.Point2D;

public class FarebnyBod extends Point2D {
        private double x;
        private double y;
        private Color farba;

        public FarebnyBod(double x, double y) {
                super();
                this.x = x;
                this.y = y;
                int cislo = (int) (Math.random() * 3);
                if (cislo == 0) {
                        farba = Color.red;
                } else {
                        if (cislo == 1)
                                farba = Color.blue;
                        else
                                farba = Color.green;
                }

        }

        public FarebnyBod(double x, double y, Color farba) {
                super();
                this.x = x;
                this.y = y;
                this.farba = farba;
        }

        @Override
        public double getX() {
                // TODO Auto-generated method stub
                return x;
        }

        @Override
        public double getY() {
                // TODO Auto-generated method stub
                return y;
        }

        public Color getFarba() {
                return farba;
        }

        @Override
        public void setLocation(double arg0, double arg1) {

        }

        public String toString() {
                return x + " " + y + " " + farba;
        }

        public boolean equals(FarebnyBod s) {
                if (s.getX() == this.x && s.getY() == this.y
                                && s.getFarba().equals(this.farba))
                        return true;
                else
                        return false;
        }

}
 
package sk.upjs.test;

public class ZoznamBodov {
        private double minX;
        private double minY;
        private double maxX;
        private double maxY;
        private int pocet;
        private FarebnyBod[] pole;

        public ZoznamBodov(){

        }

        public ZoznamBodov(double minX, double minY, double maxX, double maxY,
                        int pocet) {
                super();
                this.minX = minX;
                this.minY = minY;
                this.maxX = maxX;
                this.maxY = maxY;
                this.pocet = pocet;
                this.pole = new FarebnyBod[pocet];
                for (int i = 0; i < pole.length; i++) {
                        pridaj(i);
                }
                System.out.println(this.pole.length);

        }

        public void pridaj(int i){
                FarebnyBod bod = new FarebnyBod(minX+(Math.random()*(maxX-minX)), minY+(Math.random()*(maxY-minY)));
                pole[i] = bod;

        }
}