Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package org.datareading;
- import java.io.*;
- import java.lang.reflect.Array;
- import java.util.ArrayList;
- import java.util.Scanner;
- public class NuskaitymasIsFailo
- {
- public static void main(String[] args)
- {
- // Pavyzdziai kitu erroru
- /* ArrayList<String> tempArray = new ArrayList<>();
- int x = 4;
- while (x < 6)
- {
- tempArray.add("sasdasdasd");
- }
- int[] masyvas = {1, 2, 3, 4, 5};
- for (int i = 0; i < 6; i++)
- {
- System.out.println(masyvas[i]);
- }*/
- ArrayList<String> katalogoEilutes = new ArrayList<>();
- ArrayList<String> prekiuPav = new ArrayList<>();
- ArrayList<Double> prekiuKaina = new ArrayList<>();
- ArrayList<Integer> prekiuKiekis = new ArrayList<>();
- String ieskomaPreke;
- ArrayList<Integer> ieskomuPrekiuIndeksai = new ArrayList<>();
- boolean arIsvestiNesanciasPrekes;
- String arIsvestiNesanciasPrekesStr;
- try
- {
- nuskaitymasIsFailo(katalogoEilutes);
- }
- catch (FileNotFoundException e)
- {
- System.out.println("Nėra tokio failo");
- e.printStackTrace();
- }
- catch (IOException e)
- {
- System.out.println("Nepavyko nuskaityti iš failo. Bandykite vėliau");
- e.printStackTrace();
- }
- System.out.println(katalogoEilutes.toString());
- isskaidytiEilutes(prekiuPav, prekiuKaina, prekiuKiekis, katalogoEilutes);
- System.out.println(prekiuPav.toString());
- System.out.println(prekiuKaina.toString());
- System.out.println(prekiuKiekis.toString());
- System.out.println("Įveskite prekės pavadinimą, kurios ieškote: ");
- ieskomaPreke = nuskaitytiVartotojoPaieska();
- // System.out.println(ieskomaPreke);
- System.out.println("Ar norite, jog išvestų ir sandėlyje nesančias prekes ar tik esančias (rinktis true / false): ");
- arIsvestiNesanciasPrekesStr = nuskaitytiVartotojoPaieska();
- arIsvestiNesanciasPrekes = Boolean.parseBoolean(arIsvestiNesanciasPrekesStr);
- rastiPrekes(ieskomaPreke, prekiuPav, ieskomuPrekiuIndeksai);
- isvestiIeskomasPrekes(ieskomuPrekiuIndeksai, prekiuPav, prekiuKaina, prekiuKiekis, arIsvestiNesanciasPrekes);
- }
- /**
- * Metodas nuskaito duomenis iš tekstinio failo "prekiu_katalogas.csv" ir sudeda į ArrayList struktūrą eilutes
- * @param katalogoEilutes - ArrayList, į kurį dėsime nuskaitytas eilutes iš tekstinio failo.
- * @throws IOException - Vienas IOException būtų FileNotFound, jį gali išmesti kuriant failą, kai jo neras.
- * Kitas IOException būtų kai bando nuskaityti, tai tiesiog general IOException, jei kas nepavyktų su nuskaitymu
- */
- public static void nuskaitymasIsFailo(ArrayList<String> katalogoEilutes) throws IOException
- {
- File prekiuKatalogoFailas = new File("prekiu_katalogas.csv");
- FileReader failoReaderioObjektas;
- BufferedReader failoSkaitytuvas;
- failoReaderioObjektas = new FileReader(prekiuKatalogoFailas);
- failoSkaitytuvas = new BufferedReader(failoReaderioObjektas);
- String pirmaEilute = failoSkaitytuvas.readLine();
- String eilute;
- eilute = failoSkaitytuvas.readLine();
- while (eilute != null)
- {
- katalogoEilutes.add(eilute);
- eilute = failoSkaitytuvas.readLine();
- }
- }
- /**
- * Išskaido nuskaitytas eilutes iš tekstinio failo į atskirus ArrayList
- * @param prekiuPav - prekių pavadinimai (pirmasis eilutės kintamasis)
- * @param prekiuKaina - prekių kainos (antrasis eilutės kintamasis)
- * @param prekiuKiekis - prekių kiekis (trečiasis eilutės kintamasis)
- * @param katalogoEilutes - tekstinio failo nuskaitytos eilutės
- */
- public static void isskaidytiEilutes(ArrayList<String> prekiuPav, ArrayList<Double> prekiuKaina, ArrayList<Integer> prekiuKiekis, ArrayList<String> katalogoEilutes)
- {
- for (int i = 0; i < katalogoEilutes.size(); i++)
- {
- String[] isskaidytaEilute;
- isskaidytaEilute = katalogoEilutes.get(i).split(",");
- String laikinasPav = isskaidytaEilute[0];
- String laikinaKainaStr = isskaidytaEilute[1];
- String laikinasKiekisStr = isskaidytaEilute[2];
- double laikinaKaina = Double.parseDouble(laikinaKainaStr);
- int laikinasKiekis = Integer.parseInt(laikinasKiekisStr);
- prekiuPav.add(laikinasPav);
- prekiuKaina.add(laikinaKaina);
- prekiuKiekis.add(laikinasKiekis);
- }
- }
- public static String nuskaitytiVartotojoPaieska()
- {
- String ieskomasZodis;
- Scanner konsolesSkaitytuvas = new Scanner(System.in);
- ieskomasZodis = konsolesSkaitytuvas.next();
- return ieskomasZodis;
- }
- public static void rastiPrekes(String ieskomaPreke, ArrayList<String> prekiuPav, ArrayList<Integer> rastuPrekiuIndeksai)
- {
- for (int i = 0; i < prekiuPav.size(); i++)
- {
- if (prekiuPav.get(i).equals(ieskomaPreke))
- {
- rastuPrekiuIndeksai.add(i);
- }
- }
- }
- /**
- *
- * @param prekiuIndeksai
- * @param prekiuPav
- * @param prekiuKaina
- * @param prekiuKiekis
- */
- public static void isvestiIeskomasPrekes(ArrayList<Integer> prekiuIndeksai, ArrayList<String> prekiuPav, ArrayList<Double> prekiuKaina, ArrayList<Integer> prekiuKiekis)
- {
- for (int i = 0; i < prekiuIndeksai.size(); i++)
- {
- int dabartinesPrekesIndeksas = prekiuIndeksai.get(i);
- System.out.println("Prekės pavadinimas: " + prekiuPav.get(dabartinesPrekesIndeksas));
- System.out.println("Prekės kaina: " + prekiuKaina.get(dabartinesPrekesIndeksas));
- System.out.println("Prekės kiekis sandėlyje: " + prekiuKiekis.get(dabartinesPrekesIndeksas));
- System.out.println("--------------------------------------");
- }
- }
- /**
- * Overloadintas metodas išvedantis ieškomas prekes
- * @param prekiuIndeksai - ieškomų prekių indeksai arraylist
- * @param prekiuPav - prekių pavadinimai arraylist
- * @param prekiuKaina - prekių kainos arraylist
- * @param prekiuKiekis - prekių kiekių arraylist
- * @param arIsvestiNesanciasPrekes - ar išvesti prekes, kurių kiekis sandėlyje yra nulis, ar neišvesti (true - išveda, false - neišveda)
- */
- public static void isvestiIeskomasPrekes(ArrayList<Integer> prekiuIndeksai, ArrayList<String> prekiuPav, ArrayList<Double> prekiuKaina, ArrayList<Integer> prekiuKiekis, boolean arIsvestiNesanciasPrekes)
- {
- for (int i = 0; i < prekiuIndeksai.size(); i++)
- {
- if (arIsvestiNesanciasPrekes)
- {
- int dabartinesPrekesIndeksas = prekiuIndeksai.get(i);
- System.out.println("Prekės pavadinimas: " + prekiuPav.get(dabartinesPrekesIndeksas));
- System.out.println("Prekės kaina: " + prekiuKaina.get(dabartinesPrekesIndeksas));
- System.out.println("Prekės kiekis sandėlyje: " + prekiuKiekis.get(dabartinesPrekesIndeksas));
- System.out.println("--------------------------------------");
- }
- else
- {
- int dabartinesPrekesIndeksas = prekiuIndeksai.get(i);
- int dabartinesPrekesKiekis = prekiuKiekis.get(dabartinesPrekesIndeksas);
- if (dabartinesPrekesKiekis > 0)
- {
- System.out.println("Prekės pavadinimas: " + prekiuPav.get(dabartinesPrekesIndeksas));
- System.out.println("Prekės kaina: " + prekiuKaina.get(dabartinesPrekesIndeksas));
- System.out.println("Prekės kiekis sandėlyje: " + prekiuKiekis.get(dabartinesPrekesIndeksas));
- System.out.println("--------------------------------------");
- }
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement