Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- * To change this license header, choose License Headers in Project Properties.
- * To change this template file, choose Tools | Templates
- * and open the template in the editor.
- */
- package eksam2018;
- import java.io.IOException;
- import java.util.ArrayList;
- import java.util.Calendar;
- import java.util.Date;
- import java.util.GregorianCalendar;
- import java.util.Scanner;
- /**
- *
- * @author t166038
- */
- public class Eksam2018 {
- /**
- * @param args the command line arguments
- */
- /*
- Kaupade müük
- Loo klassid Goods (kaup) üldväljadega ja SaleGoods (kaupade müük).
- Müüdud kaupade info loe json failist.
- Realiseeri andmete sorteerimine nimetuse ja hinna järgi
- Loo staatiline klass, mis sisaldab min 3 meetodit müügi statistika näitamiseks. Näiteks,
- mitu konkreetset toodet müüdi selles kuus. Realiseeri ka uue andmete lisamine.
- Loo loogiline kasutajaliides.
- */
- public static ArrayList<SaleGoods> saleGoods;
- public static Scanner scan;
- public static Scanner scan1;
- public static Scanner scan2;
- public static Scanner scan3;
- public static GregorianCalendar cal; // massiiv, scannerid, muutuja
- public static void main(String[] args) throws IOException {
- scan1 = new Scanner(System.in);
- scan = new Scanner(System.in);
- scan2 = new Scanner(System.in);
- scan3 = new Scanner(System.in);
- saleGoods = readSaleGoods.salegoods;
- cal = new GregorianCalendar();
- int aasta;
- Long id; // muutujate declareerimine
- System.out.println("Vali tegevus");
- int menu = 0; // menu
- do {
- System.out.println("1. Kõik muudud\n"
- + "2. Sort nimi jargi\n"
- + "3. Sort hinna jargi\n"
- + "4. Kokku kauba muudud: \n"
- + "5. Tulek kauba muudust aastas : \n"
- + "6. Tulek kauba muudust aasta ja kauba jargi : \n"
- + "7. Lisamine\n"
- + "8. Välju");
- menu = scan.nextInt();
- switch(menu) { // valik
- case 1: System.out.println(saleGoods);break; // kogu listi printimine
- case 2: nameSort();
- System.out.println(saleGoods);break; // nimi jargi sorteeritud listi printimine
- case 3: priceSort();
- System.out.println(saleGoods);break; // hinna jargi sorteeritud listi printimine
- case 4: System.out.println("Kogu kauba muudud: "+stats.kokkuMuudud());break; // kogu muudud kaupade arv
- case 5: System.out.println("Sisesta aasta:");
- aasta = scan.nextInt();
- System.out.println("Tulek muugist aastas "+aasta+": "+stats.tulekAastas(aasta));break; // aastas muudud kaupa hind
- case 6: System.out.println("Sisesta aasta:"); // aastas muudud kaupa hind kauba id jargi
- aasta = scan.nextInt();
- System.out.println("Sisesta kauba id:");
- id = scan3.nextLong();
- System.out.println("Tulek muugist aastas "+aasta+" kaupa: "+findGood(id).getNimetus()+": "+stats.tulekAastasID(aasta, id));break;
- case 7: System.out.println("Sisesta ID:"); // uue andme lisamine
- id = scan3.nextLong();
- lisamine(id);
- write.write(); // faili kirjutamine
- break;
- case 8: System.out.println("Nagemiseni");break;
- }
- } while (menu != 8);
- }
- public static void lisamine(Long id) { // objekti lisamine
- SaleGoods e = new SaleGoods();
- for (SaleGoods g:saleGoods)
- if (g.getId().equals(id)) { // muugi id on olemas
- System.out.println("ID on olemas");
- return;
- }
- e.setId(id);
- Goods g = new Goods();
- g.setId(ids());
- g.setNimetus(nimetus());
- g.setTootja(tootja());
- g.setHind(hind()); // Goods objekti taitmine
- e.setKaup(g); // Goods lisamine (kaupa)
- e.setKogus(kogus());
- e.setMuuk(muukdate()); // taitmine
- saleGoods.add(e);
- }
- public static Long ids(){ // valjade kusimine
- System.out.println("Sisesta kauba id:");
- return scan3.nextLong();
- }
- public static Long kogus(){
- System.out.println("Sisesta kauba kogus:");
- return scan3.nextLong();
- }
- public static String nimetus(){
- System.out.println("Sisesta kauba nimetus:");
- return scan1.nextLine();
- }
- public static String tootja(){
- System.out.println("Sisesta kauba tootja:");
- return scan1.nextLine();
- }
- public static Double hind(){
- System.out.println("Sisesta kauba hind:");
- return scan2.nextDouble();
- }
- public static Date muukdate() { // data kusimine
- System.out.println("Sisesta muumise aeg:");
- System.out.println("Sisesta paev:");
- int paev = scan.nextInt();
- System.out.println("Sisesta kuu:");
- int kuu = scan.nextInt();
- System.out.println("Sisesta aasta:");
- int aasta = scan.nextInt();
- Calendar muukdate = GregorianCalendar.getInstance();
- muukdate.set(aasta, kuu-1, paev);
- return muukdate.getTime();
- }
- public static void nameSort() { // sortimine nimetuse jargi
- saleGoods.sort((o1, o2) -> o1.getKaup().getNimetus().compareTo(o2.getKaup().getNimetus()));
- }
- public static void priceSort() { // sortimine hinna jargi
- saleGoods.sort((o1, o2) -> (String.valueOf(o1.getKaup().getHind()).compareTo(String.valueOf(o2.getKaup().getNimetus()))));
- }
- public static Goods findGood(Long id) { // kaupa otsimine
- Goods n = null;
- for (SaleGoods s: saleGoods) // tsukkel muukide labimiseks
- if (s.getKaup().getId().equals(id)) // kaupade id on vordsed
- n = s.getKaup();
- return n;
- }
- public static class stats { // staatiline klass
- public static int kokkuMuudud() { // meetod muudud kauba arvu otsimiseks
- int muuk = 0; // esialgne kogus
- for (SaleGoods s:saleGoods)
- muuk+=s.getKogus(); // koguse lisamine
- return muuk;
- }
- public static Double tulekAastas(int aasta) { // meetod aastas kogu muudud kauba hinna otsimiseks
- Double muuk = 0.00;
- for (SaleGoods s:saleGoods) {
- cal.setTime(s.getMuuk()); // calendar maaramine muugi kuupaevaga
- if (cal.get(Calendar.YEAR) == aasta) // calendar aasta on vordne aastaga
- muuk+=s.getKogus()*s.getKaup().getHind();
- }
- return muuk;
- }
- public static Double tulekAastasID(int aasta, Long id) { // meetod aastas kogu muudud kauba hinna otsimiseks id jargi
- Double muuk = 0.00;
- for (SaleGoods s:saleGoods) {
- cal.setTime(s.getMuuk());
- if (cal.get(Calendar.YEAR) == aasta)
- if (id.equals(s.getKaup().getId()))
- muuk+=s.getKogus()*s.getKaup().getHind();
- }
- return muuk;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement