Raizekas

Untitled

Mar 3rd, 2021
655
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. package org.datareading;
  2.  
  3. import java.io.*;
  4. import java.lang.reflect.Array;
  5. import java.util.ArrayList;
  6. import java.util.Scanner;
  7.  
  8. public class NuskaitymasIsFailo
  9. {
  10.     public static void main(String[] args)
  11.     {
  12.         // Pavyzdziai kitu erroru
  13.       /*  ArrayList<String> tempArray = new ArrayList<>();
  14.         int x = 4;
  15.         while (x < 6)
  16.         {
  17.             tempArray.add("sasdasdasd");
  18.         }
  19.  
  20.         int[] masyvas = {1, 2, 3, 4, 5};
  21.         for (int i = 0; i < 6; i++)
  22.         {
  23.             System.out.println(masyvas[i]);
  24.         }*/
  25.  
  26.  
  27.         ArrayList<String> katalogoEilutes = new ArrayList<>();
  28.         ArrayList<String> prekiuPav = new ArrayList<>();
  29.         ArrayList<Double> prekiuKaina = new ArrayList<>();
  30.         ArrayList<Integer> prekiuKiekis = new ArrayList<>();
  31.  
  32.         String ieskomaPreke;
  33.         ArrayList<Integer> ieskomuPrekiuIndeksai = new ArrayList<>();
  34.  
  35.         boolean arIsvestiNesanciasPrekes;
  36.         String arIsvestiNesanciasPrekesStr;
  37.  
  38.         try
  39.         {
  40.             nuskaitymasIsFailo(katalogoEilutes);
  41.         }
  42.         catch (FileNotFoundException e)
  43.         {
  44.             System.out.println("Nėra tokio failo");
  45.             e.printStackTrace();
  46.         }
  47.         catch (IOException e)
  48.         {
  49.             System.out.println("Nepavyko nuskaityti iš failo. Bandykite vėliau");
  50.             e.printStackTrace();
  51.         }
  52.  
  53.         System.out.println(katalogoEilutes.toString());
  54.  
  55.         isskaidytiEilutes(prekiuPav, prekiuKaina, prekiuKiekis, katalogoEilutes);
  56.  
  57.         System.out.println(prekiuPav.toString());
  58.         System.out.println(prekiuKaina.toString());
  59.         System.out.println(prekiuKiekis.toString());
  60.  
  61.  
  62.         System.out.println("Įveskite prekės pavadinimą, kurios ieškote: ");
  63.         ieskomaPreke = nuskaitytiVartotojoPaieska();
  64.        // System.out.println(ieskomaPreke);
  65.  
  66.         System.out.println("Ar norite, jog išvestų ir sandėlyje nesančias prekes ar tik esančias (rinktis true / false): ");
  67.         arIsvestiNesanciasPrekesStr = nuskaitytiVartotojoPaieska();
  68.         arIsvestiNesanciasPrekes = Boolean.parseBoolean(arIsvestiNesanciasPrekesStr);
  69.  
  70.  
  71.         rastiPrekes(ieskomaPreke, prekiuPav, ieskomuPrekiuIndeksai);
  72.         isvestiIeskomasPrekes(ieskomuPrekiuIndeksai, prekiuPav, prekiuKaina, prekiuKiekis, arIsvestiNesanciasPrekes);
  73.     }
  74.  
  75.     /**
  76.      * Metodas nuskaito duomenis iš tekstinio failo "prekiu_katalogas.csv" ir sudeda į ArrayList struktūrą eilutes
  77.      * @param katalogoEilutes   - ArrayList, į kurį dėsime nuskaitytas eilutes iš tekstinio failo.
  78.      * @throws IOException      - Vienas IOException būtų FileNotFound, jį gali išmesti kuriant failą, kai jo neras.
  79.      *                            Kitas IOException būtų kai bando nuskaityti, tai tiesiog general IOException, jei kas nepavyktų su nuskaitymu
  80.      */
  81.     public static void nuskaitymasIsFailo(ArrayList<String> katalogoEilutes) throws IOException
  82.     {
  83.         File prekiuKatalogoFailas = new File("prekiu_katalogas.csv");
  84.         FileReader failoReaderioObjektas;
  85.         BufferedReader failoSkaitytuvas;
  86.  
  87.         failoReaderioObjektas = new FileReader(prekiuKatalogoFailas);
  88.         failoSkaitytuvas = new BufferedReader(failoReaderioObjektas);
  89.  
  90.         String pirmaEilute = failoSkaitytuvas.readLine();
  91.  
  92.         String eilute;
  93.         eilute = failoSkaitytuvas.readLine();
  94.  
  95.         while (eilute != null)
  96.         {
  97.             katalogoEilutes.add(eilute);
  98.             eilute = failoSkaitytuvas.readLine();
  99.         }
  100.     }
  101.  
  102.  
  103.     /**
  104.      * Išskaido nuskaitytas eilutes iš tekstinio failo į atskirus ArrayList
  105.      * @param prekiuPav - prekių pavadinimai (pirmasis eilutės kintamasis)
  106.      * @param prekiuKaina   - prekių kainos (antrasis eilutės kintamasis)
  107.      * @param prekiuKiekis  - prekių kiekis (trečiasis eilutės kintamasis)
  108.      * @param katalogoEilutes   - tekstinio failo nuskaitytos eilutės
  109.      */
  110.     public static void isskaidytiEilutes(ArrayList<String> prekiuPav, ArrayList<Double> prekiuKaina, ArrayList<Integer> prekiuKiekis, ArrayList<String> katalogoEilutes)
  111.     {
  112.         for (int i = 0; i < katalogoEilutes.size(); i++)
  113.         {
  114.             String[] isskaidytaEilute;
  115.             isskaidytaEilute = katalogoEilutes.get(i).split(",");
  116.  
  117.             String laikinasPav = isskaidytaEilute[0];
  118.             String laikinaKainaStr = isskaidytaEilute[1];
  119.             String laikinasKiekisStr = isskaidytaEilute[2];
  120.  
  121.             double laikinaKaina = Double.parseDouble(laikinaKainaStr);
  122.             int laikinasKiekis = Integer.parseInt(laikinasKiekisStr);
  123.  
  124.             prekiuPav.add(laikinasPav);
  125.             prekiuKaina.add(laikinaKaina);
  126.             prekiuKiekis.add(laikinasKiekis);
  127.         }
  128.     }
  129.  
  130.  
  131.  
  132.     public static String nuskaitytiVartotojoPaieska()
  133.     {
  134.         String ieskomasZodis;
  135.         Scanner konsolesSkaitytuvas = new Scanner(System.in);
  136.         ieskomasZodis = konsolesSkaitytuvas.next();
  137.         return ieskomasZodis;
  138.     }
  139.  
  140.  
  141.     public static void rastiPrekes(String ieskomaPreke, ArrayList<String> prekiuPav, ArrayList<Integer> rastuPrekiuIndeksai)
  142.     {
  143.         for (int i = 0; i < prekiuPav.size(); i++)
  144.         {
  145.             if (prekiuPav.get(i).equals(ieskomaPreke))
  146.             {
  147.                 rastuPrekiuIndeksai.add(i);
  148.             }
  149.         }
  150.  
  151.     }
  152.  
  153.  
  154.     /**
  155.      *
  156.      * @param prekiuIndeksai
  157.      * @param prekiuPav
  158.      * @param prekiuKaina
  159.      * @param prekiuKiekis
  160.      */
  161.     public static void isvestiIeskomasPrekes(ArrayList<Integer> prekiuIndeksai, ArrayList<String> prekiuPav, ArrayList<Double> prekiuKaina, ArrayList<Integer> prekiuKiekis)
  162.     {
  163.         for (int i = 0; i < prekiuIndeksai.size(); i++)
  164.         {
  165.             int dabartinesPrekesIndeksas = prekiuIndeksai.get(i);
  166.             System.out.println("Prekės pavadinimas: " + prekiuPav.get(dabartinesPrekesIndeksas));
  167.             System.out.println("Prekės kaina: " + prekiuKaina.get(dabartinesPrekesIndeksas));
  168.             System.out.println("Prekės kiekis sandėlyje: " + prekiuKiekis.get(dabartinesPrekesIndeksas));
  169.             System.out.println("--------------------------------------");
  170.         }
  171.     }
  172.  
  173.     /**
  174.      * Overloadintas metodas išvedantis ieškomas prekes
  175.      * @param prekiuIndeksai    - ieškomų prekių indeksai arraylist
  176.      * @param prekiuPav - prekių pavadinimai arraylist
  177.      * @param prekiuKaina   - prekių kainos arraylist
  178.      * @param prekiuKiekis  - prekių kiekių arraylist
  179.      * @param arIsvestiNesanciasPrekes - ar išvesti prekes, kurių kiekis sandėlyje yra nulis, ar neišvesti (true - išveda, false - neišveda)
  180.      */
  181.     public static void isvestiIeskomasPrekes(ArrayList<Integer> prekiuIndeksai, ArrayList<String> prekiuPav, ArrayList<Double> prekiuKaina, ArrayList<Integer> prekiuKiekis, boolean arIsvestiNesanciasPrekes)
  182.     {
  183.         for (int i = 0; i < prekiuIndeksai.size(); i++)
  184.         {
  185.             if (arIsvestiNesanciasPrekes)
  186.             {
  187.                 int dabartinesPrekesIndeksas = prekiuIndeksai.get(i);
  188.                 System.out.println("Prekės pavadinimas: " + prekiuPav.get(dabartinesPrekesIndeksas));
  189.                 System.out.println("Prekės kaina: " + prekiuKaina.get(dabartinesPrekesIndeksas));
  190.                 System.out.println("Prekės kiekis sandėlyje: " + prekiuKiekis.get(dabartinesPrekesIndeksas));
  191.                 System.out.println("--------------------------------------");
  192.             }
  193.             else
  194.             {
  195.                 int dabartinesPrekesIndeksas = prekiuIndeksai.get(i);
  196.                 int dabartinesPrekesKiekis = prekiuKiekis.get(dabartinesPrekesIndeksas);
  197.                 if (dabartinesPrekesKiekis > 0)
  198.                 {
  199.                     System.out.println("Prekės pavadinimas: " + prekiuPav.get(dabartinesPrekesIndeksas));
  200.                     System.out.println("Prekės kaina: " + prekiuKaina.get(dabartinesPrekesIndeksas));
  201.                     System.out.println("Prekės kiekis sandėlyje: " + prekiuKiekis.get(dabartinesPrekesIndeksas));
  202.                     System.out.println("--------------------------------------");
  203.                 }
  204.             }
  205.         }
  206.     }
  207. }
  208.  
RAW Paste Data

Adblocker detected! Please consider disabling it...

We've detected AdBlock Plus or some other adblocking software preventing Pastebin.com from fully loading.

We don't have any obnoxious sound, or popup ads, we actively block these annoying types of ads!

Please add Pastebin.com to your ad blocker whitelist or disable your adblocking software.

×