Advertisement
Talar97

Lab06_Pozycja

Nov 30th, 2017
305
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 4.47 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 static void zapiszZamowienie(Zamowienie z, String nazwaPliku) throws IOException{
  82.         String defaultPath = "C:\\Users\\TalarPC\\IdeaProjects\\Lab06\\src\\com\\Talar\\";
  83.         FileWriter zapis = new FileWriter(defaultPath+nazwaPliku + ".txt", true);
  84.  
  85.         for(int i = 0; i < z.poz.length; i++){
  86.             if(z.poz[i] != null){
  87.                 zapis.write(z.poz[i].toStr() + "\n");
  88.             }
  89.         }
  90.         zapis.write(z.toStr()+"\n");
  91.         zapis.close();
  92.     }
  93.  
  94.     public static Zamowienie wczytajZamowienie(String nazwaPliku) throws FileNotFoundException {
  95.         String defaultPath = "C:\\Users\\TalarPC\\IdeaProjects\\Lab06\\src\\com\\Talar\\";
  96.         File plik = new File(defaultPath+nazwaPliku);
  97.         Scanner in = new Scanner(plik);
  98.         String[] zamowienie = new String[100];
  99.         String line = "";
  100.         int i=0;
  101.  
  102.         Zamowienie wczytane = new Zamowienie(10);
  103.         Pozycja[] wczt = new Pozycja[10];
  104.  
  105.         while(true){
  106.             try{
  107.                 line = in.nextLine();
  108.                 zamowienie = podzielNaSlowa(line);
  109.  
  110.                 if(!zamowienie[0].equals("Razem:")) {
  111.                     wczt[i] = new Pozycja(zamowienie[0], Integer.parseInt(zamowienie[4]), Double.parseDouble(zamowienie[2]));
  112.                     wczytane.dodajPozycje(wczt[i]);
  113.                     i++;
  114.                 }
  115.                 else { break; }
  116.             }
  117.             catch(NoSuchElementException e) { break; }
  118.         }
  119.  
  120.         return wczytane;
  121.     }
  122.  
  123.     private static String[] podzielNaSlowa(String text){
  124.         String[] wynik = new String[wordCount(text)];
  125.         int j = 0;
  126.  
  127.         for(int k = 0; k < wynik.length; k++){
  128.             wynik[k] = "";
  129.         }
  130.  
  131.         for(int i = 0; i < text.length(); i++){
  132.             if(Character.isWhitespace(text.charAt(i))){
  133.                 j++;
  134.             }
  135.             else{
  136.                 wynik[j] += text.charAt(i);
  137.             }
  138.         }
  139.  
  140.         return wynik;
  141.     }
  142.  
  143.     private static int wordCount(String text){
  144.         int wynik = 1;
  145.  
  146.         for(int i = 1; i < text.length(); i++){
  147.             if(Character.isWhitespace(text.charAt(i)) || Character.isLetter(text.charAt(i-1))){
  148.                 wynik++;
  149.             }
  150.         }
  151.  
  152.         return wynik;
  153.     }
  154. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement