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

Štvrtok

package PAZ1a.lecture08;

import java.awt.event.MouseEvent;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.PrintWriter;
import java.util.Arrays;
import java.util.Locale;
import java.util.Scanner;

import sk.upjs.jpaz2.Turtle;
import sk.upjs.jpaz2.WinPane;
import sk.upjs.visualscanner.VisualScanner;

public class ClickPane extends WinPane {

        private int[] poleX = new int[20];
        private int[] poleY = new int[20];
        private double[] polePolomerov = new double[20];
        private int pocetBodiek = 0;

        public void bodka(int x, int y, double polomer) {
                Turtle pomocnica = new Turtle();
                this.add(pomocnica);

                pomocnica.setPosition(x, y);
                pomocnica.dot(polomer);

                this.remove(pomocnica);
                poleX[pocetBodiek] = x;
                poleY[pocetBodiek] = y;
                polePolomerov[pocetBodiek] = polomer;
                pocetBodiek++;
        }

        @Override
        protected void onMouseClicked(int x, int y, MouseEvent detail) {
                double polomer = 2 + (Math.random() * 3);
                this.bodka(x, y, polomer);
//              System.out.println(Arrays.toString(poleX));
//              System.out.println(Arrays.toString(poleY));
//              System.out.println(Arrays.toString(polePolomerov));
//              System.out.println();

        }

        public void saveClicksToFile(String output) {
                File subor = new File(output);
                PrintWriter pw = null;
                try {
                        pw = new PrintWriter(subor);
                        for (int i = 0; i < pocetBodiek; i++) {
                                pw.println(poleX[i] + " " + poleY[i] + " " + polePolomerov[i]);

                        }
                } catch (FileNotFoundException e) {
                        System.err.println("Súbor " + subor.getName() + " som nenašiel");
                } finally {
                        if (pw != null)
                                pw.close();
                }
        }

        public void doClicksFromFile(String input) {
                File subor = new File(input);
                Scanner sc = null;
                try {
                        sc = new Scanner(subor);
                        sc.useLocale(Locale.US);
                        while (sc.hasNext()) {
                                int x = sc.nextInt();
                                int y = sc.nextInt();
                                double r = sc.nextDouble();
                                // System.out.println(x + " " + y + " " + r);
                                this.bodka(x, y, r);
                        }

                } catch (FileNotFoundException e) {
                        System.out.println("Súbor " + subor.getName() + " som nenašiel");
                } finally {
                        if (sc != null)
                                sc.close();

                }

        }

}
package PAZ1a.lecture08;

import java.io.File;
import java.io.FileNotFoundException;
import java.util.Locale;
import java.util.Scanner;

import sk.upjs.jpaz2.Turtle;

public class TextTurtle extends Turtle {

        public double average(String filename) {
                File subor = new File(filename);
                int sucet = 0;
                int pocetCisel = 0;

                Scanner sc = null;
                try {
                        sc = new Scanner(subor);
                        while (sc.hasNextInt()) {
                                int cislo = sc.nextInt();
                                sucet = sucet + cislo;
                                pocetCisel++;
                        }

                } catch (FileNotFoundException e) {
                        System.out.println("Súbor " + subor.getName() + " som nenašiel");
                } finally {
                        if (sc != null)
                                sc.close();
                }
                double priemer = sucet / (pocetCisel + 0.0);
                return priemer;
        }

}
 
package PAZ1a.lecture08;

import sk.upjs.jpaz2.*;

public class Launcher {

        public static void main(String[] args) {
//              ClickPane cp = new ClickPane();
//              ObjectInspector oi = new ObjectInspector();
//              oi.inspect(cp);
                TextTurtle tt = new TextTurtle();
                System.out.println(tt.average("cisla"));

        }
}

súbor "bodky"

57 62 3.019236334029757
51 155 3.201650432927954
141 116 4.769068043865706
196 189 2.520391045193546
 

súbor "cisla"

5 9 3 4 9 1 9 1 -321