Untitled

 avatar
unknown
plain_text
2 years ago
18 kB
3
Indexable
import java.io.*;
import java.sql.*;
import java.util.*;
import java.util.stream.Collectors;

//class FirDeExecutie extends Thread{
//    String cuvant;
//    File fisier;
//    int nrAparitii;
//
//    FirDeExecutie(String cuvant, File fisier){
//        this.cuvant = cuvant;
//        this.fisier = fisier;
//        nrAparitii = 0;
//    }
//
//    @Override
//    public void run(){
//        try{
//            BufferedReader fin = new BufferedReader(new FileReader(fisier));
//            String line;
//            while((line = fin.readLine()) != null){
//                for(String cuv:line.split("[ .,?!;]")){
//                    if(cuv.isEmpty())
//                        continue;
//                    else{
//                        if(cuv.equalsIgnoreCase(cuvant))
//                            nrAparitii++;
//                    }
//                }
//            }
//            afisare();
//        }
//        catch (IOException ex){
//            System.out.println("Eroare la citirea din fisier");
//        }
//    }
//
//    public void afisare(){
//        System.out.println("In fisierul " + fisier.getName() + ", cuvantul " + cuvant + " se gaseste de " + nrAparitii + " ori.");
//    }
//}

class Automobil{
    String marca;
    String model;
    int capacitate;
    int pret;

    public Automobil(String marca, String model, int capacitate, int pret) {
        this.marca = marca;
        this.model = model;
        this.capacitate = capacitate;
        this.pret = pret;
    }

    public String getMarca() {
        return marca;
    }

    public void setMarca(String marca) {
        this.marca = marca;
    }

    public String getModel() {
        return model;
    }

    public void setModel(String model) {
        this.model = model;
    }

    public int getCapacitate() {
        return capacitate;
    }

    public void setCapacitate(int capacitate) {
        this.capacitate = capacitate;
    }

    public int getPret() {
        return pret;
    }

    public void setPret(int pret) {
        this.pret = pret;
    }

    @Override
    public String toString() {
        return "Automobil{" +
                "marca='" + marca + '\'' +
                ", model='" + model + '\'' +
                ", capacitate=" + capacitate +
                ", pret=" + pret +
                '}';
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;
        Automobil automobil = (Automobil) o;
        return capacitate == automobil.capacitate && pret == automobil.pret && Objects.equals(marca, automobil.marca) && Objects.equals(model, automobil.model);
    }

    @Override
    public int hashCode() {
        return Objects.hash(marca, model, capacitate, pret);
    }
}

class A{
    public static void metoda(String s) {
        System.out.println("A" + s);
    }
}

class B extends A{
    public static void metoda(String s){
        System.out.println("B" + s);
    }

    public void metoda(String s, String t){
        System.out.println("B" + s + t);
    }
}

class Persoana{
    String nume;
    int varsta;

    public Persoana(String nume, int varsta){
        this.nume = nume;
        this.varsta = varsta;
        System.out.println("CONSTRUCTOR");
    }
}

class FirDeExecutie extends Thread{
    ArrayList<String> cuvinte;
    int n;
    File fisier;

    FirDeExecutie(int n, File fisier){
        this.cuvinte = new ArrayList<>();
        this.n = n;
        this.fisier = fisier;
    }

    @Override
    public void run(){
        try{
            BufferedReader fin = new BufferedReader(new FileReader(fisier));
            String linie;
            while((linie = fin.readLine()) != null){
                for(String cuvant:linie.split("[ ,./?;!]")){
                    if(cuvant.isEmpty()) continue;
                    else{
                        if(cuvant.length() == n)
                            cuvinte.add(cuvant);
                    }
                }
            }
            afisare();
        }
        catch (IOException e){
            System.out.println("Eroare la citirea din fisier");
        }

    }

    public void afisare(){
        for(String cuvant:cuvinte){
            System.out.print(cuvant + " ");
        }
        System.out.println();
    }
}

class DiplomaLicenta{
    int serie;
    String absolvent;
    int an;
    String facultate;
    String specializare;
    double medie;

    public DiplomaLicenta(int serie, String absolvent, int an, String facultate, String specializare, double medie) {
        this.serie = serie;
        this.absolvent = absolvent;
        this.an = an;
        this.facultate = facultate;
        this.specializare = specializare;
        this.medie = medie;
    }

    public int getSerie() {
        return serie;
    }

    public void setSerie(int serie) {
        this.serie = serie;
    }

    public String getAbsolvent() {
        return absolvent;
    }

    public void setAbsolvent(String absolvent) {
        this.absolvent = absolvent;
    }

    public int getAn() {
        return an;
    }

    public void setAn(int an) {
        this.an = an;
    }

    public String getFacultate() {
        return facultate;
    }

    public void setFacultate(String facultate) {
        this.facultate = facultate;
    }

    public String getSpecializare() {
        return specializare;
    }

    public void setSpecializare(String specializare) {
        this.specializare = specializare;
    }

    public double getMedie() {
        return medie;
    }

    public void setMedie(double medie) {
        this.medie = medie;
    }

    @Override
    public String toString() {
        return "DiplomaLicenta{" +
                "serie=" + serie +
                ", absolvent='" + absolvent + '\'' +
                ", an=" + an +
                ", facultate='" + facultate + '\'' +
                ", specializare='" + specializare + '\'' +
                ", medie=" + medie +
                '}';
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;
        DiplomaLicenta that = (DiplomaLicenta) o;
        return serie == that.serie && an == that.an && Double.compare(that.medie, medie) == 0 && Objects.equals(absolvent, that.absolvent) && Objects.equals(facultate, that.facultate) && Objects.equals(specializare, that.specializare);
    }

    @Override
    public int hashCode() {
        return Objects.hash(serie, absolvent, an, facultate, specializare, medie);
    }
}

class X{
    public int x = 1;
    public X(){
        x++;
    }
}

class Y extends X{
    public int x = 1;
    public Y(){
        x++;
    }
}

class Z extends Y{
    public Z(){
        x++;
    }
}

class Concert{
    String denumire;
    String localitate;
    double pretBilet;
    int numarLocuri;

    public Concert(String denumire, String localitate, double pretBilet, int numarLocuri) {
        this.denumire = denumire;
        this.localitate = localitate;
        this.pretBilet = pretBilet;
        this.numarLocuri = numarLocuri;
    }

    public String getDenumire() {
        return denumire;
    }

    public void setDenumire(String denumire) {
        this.denumire = denumire;
    }

    public String getLocalitate() {
        return localitate;
    }

    public void setLocalitate(String localitate) {
        this.localitate = localitate;
    }

    public double getPretBilet() {
        return pretBilet;
    }

    public void setPretBilet(double pretBilet) {
        this.pretBilet = pretBilet;
    }

    public int getNumarLocuri() {
        return numarLocuri;
    }

    public void setNumarLocuri(int numarLocuri) {
        this.numarLocuri = numarLocuri;
    }

    @Override
    public String toString() {
        return "Concert{" +
                "denumire='" + denumire + '\'' +
                ", localitate='" + localitate + '\'' +
                ", pretBilet=" + pretBilet +
                ", numarLocuri=" + numarLocuri +
                '}';
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;
        Concert concert = (Concert) o;
        return Double.compare(concert.pretBilet, pretBilet) == 0 && numarLocuri == concert.numarLocuri && Objects.equals(denumire, concert.denumire) && Objects.equals(localitate, concert.localitate);
    }

    @Override
    public int hashCode() {
        return Objects.hash(denumire, localitate, pretBilet, numarLocuri);
    }
}

class FirDeExecutie2 extends Thread{
    static Double pmax;
    File fisier;
    static int contor = 0;

    FirDeExecutie2(Double pmax, File fisier){
        FirDeExecutie2.pmax = pmax;
        this.fisier = fisier;
    }

    @Override
    public void run(){
        try{
            BufferedReader fin = new BufferedReader(new FileReader(fisier));
            String linie;
            while((linie = fin.readLine()) != null){
                Double pretBilet = Double.valueOf(linie.split(",")[2]);
                System.out.println(pretBilet);
                if(Double.compare(pretBilet, pmax) <= 0)
                    contor++;
            }
        }
        catch(IOException e){
            System.out.println("Eroare la citirea din fisier");
        }
    }

    public static void afisare(){
        System.out.println("Numarul total al concertelor care au pretul biletelor cel mult egale cu " + pmax + " este " + contor);
    }

}

//class Locomotiva{
//    Firma firmaProducatoare;
//    int anFabricatie;
//    Double kmParcursi;
//    private static Locomotiva locomotiva;
//
//    private Locomotiva(Firma firma, int an, Double km){
//        this.firmaProducatoare = firma;
//        this.anFabricatie = an;
//        this.kmParcursi = km;
//    }
//
//    public static Locomotiva getLocomotiva(){
//        if(locomotiva == null){
//            locomotiva = new Locomotiva("CFR", 2022, 1000.0);
//        }
//        return locomotiva;
//    }
//
//    public void showLocomotiva(){
//        System.out.println("Locomotiva de la firma " + firmaProducatoare + " fabricata in " + anFabricatie);
//    }
//
//}
public class Main {
    public static void main(String[] args) throws FileNotFoundException {

//        Persoana p =new Persoana("Popescu Ion", 40), q = p;
//
//        A ob = new B();
//        ob.metoda("P");

        Set s1 = new LinkedHashSet();
        s1.add("1");
        s1.add(1);
        s1.add(3);
        s1.add(2);
        System.out.println(s1);

        Y y = new Y();
        Z z = new Z();
        System.out.println(y.x + " " + z.x);

        //MODEL ANUL ACESTA

        //Exercitiul 2/model2023 si 3/model2019

        ArrayList<Automobil> masini = new ArrayList<>(3);
        masini.add(new Automobil("Seat", "Leon", 1800, 15000));
        masini.add(new Automobil("Audi", "A8", 2800, 50000));
        masini.add(new Automobil("Volkswagen", "Golf", 1900, 5000));
        masini.add(new Automobil("Audi", "A3", 2000, 10000));

        System.out.println("a)");
        masini.stream().filter(m -> m.getPret() >= 5000).sorted((m1, m2) -> m2.getPret() - m1.getPret()).forEach(System.out::println);
        System.out.println("b)");
        masini.stream().map(m -> m.getMarca()).distinct().forEach(System.out::println);
        System.out.println("c)");
        List<Automobil> masini2 = masini.stream().filter(m -> m.getCapacitate() >= 2000 && m.getCapacitate() <= 3000).collect(Collectors.toList());
        masini2.forEach(System.out::println);
        System.out.println("d)");
        System.out.println(masini.stream().filter(m -> m.getMarca().equals("Audi")).max((m1, m2) -> m1.getPret() - m2.getPret()).map(m -> m.getPret()).orElse(0));

        List<DiplomaLicenta> diplome = new ArrayList<>(4);
        diplome.add(new DiplomaLicenta(35, "Stoica Elias", 2024, "Facultatea de Informatica", "Informatica", 9.25));
        diplome.add(new DiplomaLicenta(25, "Marina Ilinca", 2023, "Facultatea de Drept", "Drept", 9.57));
        diplome.add(new DiplomaLicenta(14, "Chiriac Ella", 2024, "Facultatea de Informatica", "Informatica", 10));
        diplome.add(new DiplomaLicenta(23, "Semen Valentin", 2019, "Facultatea de Informatica", "Informatica", 9.10));

        System.out.println("a)");
        diplome.stream().filter(d -> d.getAn() >= 2020 && d.getAn() <= 2030).sorted((m1, m2) -> Double.compare(m2.getMedie(), m1.getMedie())).forEach(System.out::println);
        System.out.println("b)");
        diplome.stream().filter(d -> d.getFacultate().equals("Facultatea de Informatica") && d.getAn() == 2024).map(DiplomaLicenta::getSpecializare).distinct().forEach(System.out::println);
        System.out.println("c)");
        List<String> diplome2 = diplome.stream().filter(d -> d.getMedie() == 10).map(DiplomaLicenta::getAbsolvent).collect(Collectors.toList());
        diplome2.stream().forEach(System.out::println);
        System.out.println("d)");
        System.out.println(diplome.stream().filter(d -> d.getSpecializare().equals("Informatica")).collect(Collectors.toList()).size());


        List<Concert> concerte = new ArrayList<>(3);
        concerte.add(new Concert("Concert1", "Bucuresti", 100, 100));
        concerte.add(new Concert("Concert2", "Bucuresti", 200, 2000));
        concerte.add(new Concert("Concert3", "Galati", 300, 3000));
        System.out.println("a)");
        concerte.stream().filter(c -> c.getLocalitate().equals("Bucuresti")).sorted((c1, c2) -> Double.compare(c2.getPretBilet(), c1.getPretBilet())).forEach(System.out::println);
        System.out.println("b)");
        concerte.stream().map(Concert::getLocalitate).sorted((l1, l2) -> l1.compareTo(l2)).distinct().forEach(System.out::println);
        System.out.println("c)");
        List<Concert> concerte2 = concerte.stream().filter(c -> c.getNumarLocuri() > 500).collect(Collectors.toList());
        concerte2.forEach(System.out::println);
        System.out.println("d)");
        concerte.stream().map(Concert::getLocalitate).distinct().collect(Collectors.toList()).forEach(l -> System.out.println("Localitatea " + l + " are urmatoarele concerte: " + concerte.stream().filter(c-> c.getLocalitate().equals(l)).collect(Collectors.toList())));
//        System.out.println("Ex2 - MODEL ANUL ACESTA SI MODEL 2019");
//        String cuvant = "urat";
        File f1 = new File("ex1.txt");
        File f2 = new File("ex2.txt");
        File f3 = new File("ex3.txt");
//        FirDeExecutie fir1 = new FirDeExecutie(cuvant, f1);
//        FirDeExecutie fir2 = new FirDeExecutie(cuvant, f2);
//        FirDeExecutie fir3 = new FirDeExecutie(cuvant, f3);

//        int n = 5;
//        FirDeExecutie fir1 = new FirDeExecutie(n, f1);
//        FirDeExecutie fir2 = new FirDeExecutie(n, f2);
//        FirDeExecutie fir3 = new FirDeExecutie(n, f3);
//        fir1.start();
//        fir2.start();
//        fir3.start();

        try{
            Connection con = DriverManager.getConnection("jdbc:derby://localhost:1527/Angajati");
            Scanner sc = new Scanner(System.in);
            double s = sc.nextDouble();
            int v = sc.nextInt();
            String sql = "SELECT * FROM Angajati where Varsta < ? and Salariu > ?";
            PreparedStatement prstmt = con.prepareStatement(sql);
            prstmt.setInt(1, v);
            prstmt.setDouble(2, s);
            prstmt.executeQuery();
        }
        catch (SQLException e){
            System.out.println("Eroare la baza de date");
        }

        try{
            Connection con =  DriverManager.getConnection("jdbc:derby://localhost:1527/Diplome");
            Scanner sc = new Scanner(System.in);
            int an_minim = sc.nextInt();
            int an_maxim = sc.nextInt();
            String den_spec = sc.next();
            String sql = "SELECT * FROM DiplomeLicenta where an > ? and an < ? and specializare == ?";
            PreparedStatement pstmt = con.prepareStatement(sql);
            pstmt.setInt(1, an_minim);
            pstmt.setInt(2, an_maxim);
            pstmt.setString(3, den_spec);
            ResultSet result = pstmt.executeQuery();
            List<DiplomaLicenta> diplomee = new ArrayList<>();
            while(result.next()){
                DiplomaLicenta d = new DiplomaLicenta(result.getInt("serie"), result.getString("absolvent"), result.getInt("an"), result.getString("facultate"), result.getString("specializare"), result.getDouble("medie"));
                diplomee.add(d);
            }
        }
        catch(SQLException e){
            System.out.println("Eroare la baza de date");
        }

        System.out.println("Introdu o valoare pentru pmax: ");
        Scanner sc = new Scanner(System.in);
        Double pmax = sc.nextDouble();

        FirDeExecutie2 firDeExecutie21 = new FirDeExecutie2(pmax, f1);
        FirDeExecutie2 firDeExecutie22 = new FirDeExecutie2(pmax, f2);
        FirDeExecutie2 firDeExecutie23 = new FirDeExecutie2(pmax, f3);

        firDeExecutie21.start();
        firDeExecutie22.start();
        firDeExecutie23.start();

        try {
            firDeExecutie21.join();
            firDeExecutie22.join();
            firDeExecutie23.join();
        } catch (InterruptedException e) {
            e.printStackTrace();
        }

        FirDeExecutie2.afisare();

        String sir = "academician";
        int x1 = sir.lastIndexOf("c");
        int x2 = sir.indexOf("c");
        sir = sir.substring(x2, x1);
        System.out.println(sir);

    }
}
Editor is loading...