Advertisement
Talar97

Lab06_Zamowienie

Nov 30th, 2017
375
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 4.51 KB | None | 0 0
  1. package com.Talar;
  2.  
  3. import java.io.*;
  4. import java.util.NoSuchElementException;
  5. import java.util.Scanner;
  6. import java.io.FileNotFoundException;
  7. import java.io.PrintWriter;
  8.  
  9. public class Zamowienie {
  10.     Pozycja[] poz = new Pozycja[10];
  11.     int ileDodanych = 0;
  12.     int maksRozmiar = 0;
  13.  
  14.     /*public Zamowienie(){
  15.         Pozycja[] poz = new Pozycja[10];
  16.     }*/
  17.  
  18.     public Zamowienie(int ilosc){
  19.         this.maksRozmiar = ilosc;
  20.         Pozycja[] poz = new Pozycja[this.maksRozmiar];
  21.     }
  22.  
  23.     public void dodajPozycje(Pozycja p){
  24.         for(int i = 0; i < poz.length; i++){
  25.             if(poz[i] == null){
  26.                 poz[i] = p;
  27.                 break;
  28.             }
  29.  
  30.             if(poz[i].nazwaTowaru == p.nazwaTowaru){
  31.                 poz[i].ileSztuk++;
  32.                 break;
  33.             }
  34.         }
  35.     }
  36.  
  37.     public double obliczWartosc(){
  38.         double wartosc = 0;
  39.         for(int i = 0; i < poz.length; i++){
  40.             if(poz[i] != null){
  41.                 wartosc += poz[i].obliczWartoscZRabatem();
  42.             }
  43.         }
  44.         return wartosc;
  45.     }
  46.  
  47.     public String toStr(){
  48.         return "Razem: \t" + this.obliczWartosc() + " zł";
  49.     }
  50.  
  51.     public void wyswietlWszystko(){
  52.         for(int i = 0; i < poz.length; i++){
  53.             if(poz[i] != null){
  54.                 System.out.println(poz[i].toStr());
  55.             }
  56.         }
  57.         System.out.println(this.toStr());
  58.     }
  59.  
  60.     public void usunPozycje(int indeks){
  61.         if(indeks < poz.length || indeks > 0){
  62.             poz[indeks] = null;
  63.         }
  64.     }
  65.  
  66.     public void edytujPozycje(int indeks){
  67.         Scanner x = new Scanner(System.in);
  68.         Scanner y = new Scanner(System.in);
  69.         Scanner z = new Scanner(System.in);
  70.         System.out.print("Nowa nazwa: "); String n_NazwaTowaru = x.nextLine();
  71.         System.out.print("Nowa ilość sztuk: "); int n_ileSztuk = y.nextInt();
  72.         System.out.print("Nowa cena: "); double n_cena = z.nextDouble();
  73.  
  74.         if(indeks < poz.length || indeks > 0){
  75.             poz[indeks].nazwaTowaru = n_NazwaTowaru;
  76.             poz[indeks].ileSztuk = n_ileSztuk;
  77.             poz[indeks].cena = n_cena;
  78.         }
  79.     }
  80.  
  81.     public void zapiszZamowienie(Zamowienie z, String nazwaPliku) throws IOException{
  82.         //funkcja nie jest statyczna jak w poleceniu
  83.  
  84.         String defaultPath = "C:\\Users\\TalarPC\\IdeaProjects\\Lab06\\src\\com\\Talar\\";
  85.         FileWriter zapis = new FileWriter(defaultPath+nazwaPliku + ".txt", true);
  86.  
  87.         for(int i = 0; i < poz.length; i++){
  88.             if(poz[i] != null){
  89.                 zapis.write(poz[i].toStr() + "\n");
  90.             }
  91.         }
  92.         zapis.write(z.toStr()+"\n");
  93.         zapis.close();
  94.     }
  95.  
  96.     public static Zamowienie wczytajZamowienie(String nazwaPliku) throws FileNotFoundException {
  97.         String defaultPath = "C:\\Users\\TalarPC\\IdeaProjects\\Lab06\\src\\com\\Talar\\";
  98.         File plik = new File(defaultPath+nazwaPliku);
  99.         Scanner in = new Scanner(plik);
  100.         String[] zamowienie = new String[100];
  101.         String line = "";
  102.         int i=0;
  103.  
  104.         Zamowienie wczytane = new Zamowienie(10);
  105.         Pozycja[] wczt = new Pozycja[10];
  106.  
  107.         while(true){
  108.             try{
  109.                 line = in.nextLine();
  110.                 zamowienie = podzielNaSlowa(line);
  111.  
  112.                 if(!zamowienie[0].equals("Razem:")) {
  113.                     wczt[i] = new Pozycja(zamowienie[0], Integer.parseInt(zamowienie[4]), Double.parseDouble(zamowienie[2]));
  114.                     wczytane.dodajPozycje(wczt[i]);
  115.                     i++;
  116.                 }
  117.                 else { break; }
  118.             }
  119.             catch(NoSuchElementException e) { break; }
  120.         }
  121.  
  122.         return wczytane;
  123.     }
  124.  
  125.     private static String[] podzielNaSlowa(String text){
  126.         String[] wynik = new String[wordCount(text)];
  127.         int j = 0;
  128.  
  129.         for(int k = 0; k < wynik.length; k++){
  130.             wynik[k] = "";
  131.         }
  132.  
  133.         for(int i = 0; i < text.length(); i++){
  134.             if(Character.isWhitespace(text.charAt(i))){
  135.                 j++;
  136.             }
  137.             else{
  138.                 wynik[j] += text.charAt(i);
  139.             }
  140.         }
  141.  
  142.         return wynik;
  143.     }
  144.  
  145.     private static int wordCount(String text){
  146.         int wynik = 1;
  147.  
  148.         for(int i = 1; i < text.length(); i++){
  149.             if(Character.isWhitespace(text.charAt(i)) || Character.isLetter(text.charAt(i-1))){
  150.                 wynik++;
  151.             }
  152.         }
  153.  
  154.         return wynik;
  155.     }
  156. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement