E12

package sk.upjs.paz;

public class NepodariloSaVsetkoSkonvertovatException extends Exception {

}
package sk.upjs.paz;

public class ZoznamPrazdnyException extends RuntimeException {

}
package sk.upjs.paz;

import java.awt.Color;
import java.util.ArrayList;
import java.util.List;
import java.util.Locale;
import java.util.Scanner;

public class UzitocneMetody {

        public static double sucetZoznamu(List<Double> zoznam) {
                if (zoznam == null)
                        throw new ZoznamPrazdnyException();

                double sucet = 0;
                for (Double d : zoznam) {
                        sucet += d;
                }
                return sucet;
        }

        public static List<Double> poleStringovNaListDoublov(String[] pole) throws NepodariloSaVsetkoSkonvertovatException {
                List<Double> zoznam = new ArrayList<Double>();
                try {
                for (int i = 0; i < pole.length; i++) {
                        zoznam.add(Double.parseDouble(pole[i]));
                }
                } catch (Exception e) {
                        throw new NepodariloSaVsetkoSkonvertovatException();
                }
                return zoznam;
        }

        public static Tvar vytvorTvar(String popis) {
                Scanner s = new Scanner(popis);
                s.useLocale(Locale.US);
                String typ = s.next();
                if ("O".equals(typ)) {
                        return new Obdlznik(s.nextDouble(), s.nextDouble(),
                                        new Color(s.nextInt()), s.nextDouble(), s.nextDouble());
                } else if ("K".equals(typ)) {
                        return new Kruh(s.nextDouble(), s.nextDouble(),
                                        new Color(s.nextInt()), s.nextDouble());
                } else if ("T".equals(typ)) {
                        return new Tvar(s.nextDouble(), s.nextDouble(),
                                        new Color(s.nextInt()));
                }
                return null;
        }
}
 
package sk.upjs.paz;

public class Bod {

        private double x;
        private double y;

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

        public static Bod zPolarnych(double r, double u) {
                return new Bod(Math.cos(u) * r, Math.sin(u) * r);
        }

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

}
 
package sk.upjs.paz;

import java.util.List;

public class Spustac {

        /**
         * @param args
         */

        public static void main(String[] args) {
                String[] pole = new String[] {"10.9", "11", "2.3"};
                try {
                        List<Double> zoznam = UzitocneMetody.poleStringovNaListDoublov(pole);
                        System.out.println(UzitocneMetody.sucetZoznamu(zoznam));
                } catch (NepodariloSaVsetkoSkonvertovatException e) {
                        System.err.println("Chyba");
                        e.printStackTrace();
                }
                UzitocneMetody.sucetZoznamu(null);
                Bod b = Bod.zPolarnych(5, Math.PI/2);
                System.out.println(b);

                Tvar t = UzitocneMetody.vytvorTvar("K 10.0 50.0 -655566 30.0");
                System.out.println(t.popisDoSuboru());
        }

}