package andmed; import java.util.Arrays; import java.io.*; public class Arvukogum { private double[] arvud; public Arvukogum(double[] algsisend) { arvud = algsisend; } public Arvukogum(String algtekst){ loeAndmedTekstist(algtekst); } public double summa() { int s = 0; for (int i = 0; i < arvud.length; i++) { s += arvud[i]; } return s; } // Lisage funktsioon keskmise arvutamiseks, proovige selle tööd public double keskmine() { return summa() / arvud.length; } public Arvukogum yhenda(Arvukogum teine) { double[] uued = new double[arvud.length + teine.arvud.length]; int koht = 0; for (int i = 0; i < arvud.length; i++) { uued[koht++] = arvud[i]; } for (int i = 0; i < teine.arvud.length; i++) { uued[koht++] = teine.arvud[i]; } return new Arvukogum(uued); } public int[] jaota(int vahemikeArv) { if (arvud.length < 2) { throw new RuntimeException("Liiga vahe arve jaotamiseks"); } double vahim = arvud[0]; double suurim = arvud[0]; for (double arv : arvud) { if (arv > suurim) { suurim = arv; } if (arv < vahim) { vahim = arv; } } if (Math.abs(suurim - vahim) < 0.001) { throw new RuntimeException("Ainult kattuvad arvud"); } double jaotisepikkus = (suurim - vahim) / (vahemikeArv - 1); double algkoht = vahim - jaotisepikkus / 2; int[] loendurid = new int[vahemikeArv]; for (double arv : arvud) { loendurid[(int) ((arv - algkoht) / jaotisepikkus)]++; } return loendurid; } public double[][] jaota2(int vahemikeArv) { if (arvud.length < 2) { throw new RuntimeException("Liiga vahe arve jaotamiseks"); } double vahim = arvud[0]; double suurim = arvud[0]; for (double arv : arvud) { if (arv > suurim) { suurim = arv; } if (arv < vahim) { vahim = arv; } } if (Math.abs(suurim - vahim) < 0.001) { throw new RuntimeException("Ainult kattuvad arvud"); } double jaotisepikkus = (suurim - vahim) / (vahemikeArv - 1); double algkoht = vahim - jaotisepikkus / 2; double[][] loendurid = new double[vahemikeArv][2]; for (double arv : arvud) { loendurid[(int) ((arv - algkoht) / jaotisepikkus)][1] += 1; } for (int i = 0; i < vahemikeArv; i++) { loendurid[i][0] = algkoht + i * jaotisepikkus; } return loendurid; } @Override public String toString() { return Arrays.toString(arvud); } public void salvestaObjektinaFaili(String failinimi){ try{ ObjectOutputStream oos=new ObjectOutputStream(new FileOutputStream(failinimi)); oos.writeObject(arvud); oos.close(); } catch(Exception ex){ ex.printStackTrace(); } } public void loeObjektinaFailist(String failinimi){ try{ ObjectInputStream ois=new ObjectInputStream(new FileInputStream(failinimi)); arvud=(double[])ois.readObject(); ois.close(); } catch(Exception ex){ ex.printStackTrace(); } } public void loeAndmedTekstist(String s){ String[] m=s.substring(1, s.length()-1).split(", "); arvud=new double[m.length]; for(int i=0; i