Object-oriented programming - Laboratory 2


Schedule Next
Temat: IntelliJ - Java 2

IntelliJ

We will use IntelliJ on create Java program.

Second Java program

2 Classes
Anonymous Object
static field
console interaction for constructor

Final code from classes

import java.util.Scanner;

public class Main {

    public static void main(String[] args)
    {
        Scanner in = new Scanner(System.in);

        Student s = new Student("Jan", "Kowalski");
        s.setImie("Jan");
        s.setNazwisko("Kowalski");
        s.przedstawSie();

        System.out.println(s.getLiczbaStudentow());

        System.out.println("Podaj imię");
        String i = in.nextLine();
        System.out.println("Podaj nazwisko");
        String n = in.nextLine();
        Student s2 = new Student(i,n);
        s2.przedstawSie();

        System.out.println(s2.getLiczbaStudentow());

        String inicjaly = new Obliczenia().inicjaly(s.getImie(), s.getNazwisko());
        System.out.println("Inicjały to :"+inicjaly);

        Uczelnia u = new Uczelnia("UAM");
        Wykladowca w = new Wykladowca("Krzysztof", "Dyczkowski");
        w.setWynagrodzenie(2000);
        u.setDziekan(w);
        System.out.println("Nowe wynagrodzenie "+w.getWynagrodzenie());
        u.getDziekan().przedstawSie();
}
public class Obliczenia {
    public String inicjaly(String imie, String nazwisko)
    {
        return String.valueOf(imie.charAt(0))+nazwisko.charAt(0);
    }

    public int podwojenie(int x)
    {
        return 2*x;
    }
}
public class Student
{
    private String imie;
    private String nazwisko;
    private int nrIndeksu = 0;
    private static int liczbaStudentow = 0;

    public Student(String imie, String nazwisko)
    {
        this.imie = imie;
        this.nazwisko = nazwisko;
        liczbaStudentow++;
    }

     public String getImie()
    {
        return imie;
    }

    public void setImie(String i)
    {
        System.out.println("Nie wolno zmieniać imienia studenta w systemie");
    }

    public String getNazwisko() {
        return nazwisko;
    }

    public static int getLiczbaStudentow() {
        return liczbaStudentow;
    }

    public void setNazwisko(String nazwisko) {
        System.out.println("Nie wolno zmieniać nazwiska studenta w systemie");
    }

    public void przedstawSie()
    {
        System.out.println("Nazywam się "+this.imie+" "+this.nazwisko);
    }
}
public class Wykladowca {
    private String imie;
    private String nazwisko;
    private int wynagrodzenie;

    public Wykladowca(String imie, String nazwisko)
    {
        this.imie = imie;
        this.nazwisko = nazwisko;
    }

    public int getWynagrodzenie() {
        return wynagrodzenie;
    }

    public void setWynagrodzenie(int wynagrodzenie) {
        this.wynagrodzenie = wynagrodzenie;
    }

    public void przedstawSie()
    {
        System.out.println("Nazywam się "+this.imie+" "+this.nazwisko);
    }
}
public class Uczelnia {
    private String nazwa;
    private Wykladowca dziekan;

    public Uczelnia(String nazwa)
    {
        this.nazwa = nazwa;
    }

    public Wykladowca getDziekan() {
        return dziekan;
    }

    public void setDziekan(Wykladowca dziekan) {
        this.dziekan = dziekan;
        dziekan.setWynagrodzenie(new Obliczenia().podwojenie(dziekan.getWynagrodzenie()));
    }
}