Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- * To change this license header, choose License Headers in Project Properties.
- * To change this template file, choose Tools | Templates
- * and open the template in the editor.
- */
- package fourth;
- import java.util.Scanner;
- /**
- *
- * @author tomislav.cvetanovski
- */
- class Person
- {
- String name;
- String email;
- int age;
- public Person(){}
- public Person(String name, String email, int age)
- {
- this.name = name;
- this.email = email;
- this.age = age;
- }
- public void Identify()
- {
- System.out.println("**********************");
- System.out.println("Name " + name);
- System.out.println("Email: " + email);
- System.out.println("Age: " + age);
- System.out.println("**********************");
- }
- public String getName()
- {
- return name;
- }
- public String getEmail()
- {
- return email;
- }
- public int getAge()
- {
- return age;
- }
- }
- interface Worker
- {
- int getSalary();
- }
- interface AcademicInterest
- {
- String getInterest();
- }
- class Student extends Person implements AcademicInterest
- {
- int avgrade;
- String interest;
- public Student(String name, String email, int age, int avgrade, String interest)
- {
- super(name, email, age);
- this.avgrade = avgrade;
- this.interest = interest;
- }
- @Override
- public String getInterest() {
- return interest;
- }
- public int getAvgrade()
- {
- return avgrade;
- }
- }
- class Teacher extends Person implements Worker, AcademicInterest
- {
- int rating;
- int salary;
- String interest;
- public Teacher(String name, String email, int age, int rating, int salary, String interest)
- {
- super(name, email, age);
- this.interest = interest;
- this.rating = rating;
- this.salary = salary;
- }
- int getRating()
- {
- return rating;
- }
- @Override
- public int getSalary() {
- return salary;
- }
- @Override
- public String getInterest() {
- return interest;
- }
- @Override
- public void Identify()
- {
- System.out.println("**********************");
- System.out.println("Name " + name);
- System.out.println("Email: " + email);
- System.out.println("Age: " + age);
- System.out.println("He/She is a teacher.");
- System.out.println("**********************");
- }
- }
- class Plummer extends Person implements Worker
- {
- int salary;
- public Plummer(String name, String email, int age, int salary)
- {
- super(name, email, age);
- this.salary =salary;
- }
- @Override
- public int getSalary() {
- return salary;
- }
- @Override
- public void Identify()
- {
- System.out.println("**********************");
- System.out.println("Name " + name);
- System.out.println("Email: " + email);
- System.out.println("Age: " + age);
- System.out.println("He/She is a plummer.");
- System.out.println("**********************");
- }
- }
- public class Fourth {
- /**
- * @param args the command line arguments
- */
- public static void main(String[] args) {
- // TODO code application logic here
- Scanner s = new Scanner(System.in);
- int exit= 0;
- int choice = 0;
- Person ppl[] = new Person[10];
- ppl[0] = new Person("Dan", "mit@gmail.com", 38);
- ppl[1] = new Plummer("John", "john@gmail.com", 48, 15000);
- ppl[2] = new Student("Jacob", "jacob@gmail.com", 24, 6, "Java");
- ppl[3] = new Student("Ian", "ian@gmail.com", 22, 8, "Java");
- ppl[4] = new Student("Coolio", "coolio@gmail.com", 25, 9, "Managment");
- ppl[5] = new Student("Mark", "Mark@gmail.com", 23, 8, "Java");
- ppl[6] = new Teacher("Fran", "fran@gmail.com", 48, 9, 80000, "Java");
- ppl[7] = new Teacher("Richie", "richie@gmail.com", 52, 8, 49900, "Java");
- ppl[8] = new Teacher("Roger", "roger@gmail.com", 39, 8, 70000, "Managment");
- ppl[9] = new Teacher("Homer", "homer@gmail.com", 42, 6, 40000, "Managment");
- for(;;)
- {
- if(exit != 0)
- {
- System.out.println("**********************");
- System.out.println("Do you like to list more? <1 - yes 2 - no");
- choice = s.nextInt();
- if (choice == 2)
- break;
- }
- System.out.println("Choose an option <enter its index>");
- System.out.println("1: Identify all workers with salary bigger then 20000 mkd");
- System.out.println("2: Identify all Teachers with rating bigger than 7");
- System.out.println("3: Count people with the same academic interest");
- System.out.println("4: Group students and teachers that share the same academic interest and have average grade and rating bigger then 8");
- System.out.println("**********************");
- choice = s.nextInt();
- if(choice == 1)
- {
- for(int i = 0; i < 10; i++)
- {
- if(ppl[i].isInstanceOf(Worker))
- {
- if(ppl[i].getSalary > 20000)
- ppl[i].Identify();
- }
- }
- }
- if( choice == 2)
- {
- for(int i = 0; i < 10; i++)
- {
- if(ppl[i].isInstanceOf(Teacher))
- {
- if(ppl[i].getRating > 7)
- ppl[i].Identify();
- }
- }
- }
- if(choice == 3)
- {
- int CJ = 0, CM = 0, CF = 0;
- for(int i = 0; i < 10; i++)
- {
- if(ppl[i].getInterest() == 'Java')
- {
- CJ++;
- }
- if(ppl[i].getInterest() == 'Managment')
- {
- CM++;
- }
- if(ppl[i].getInterest() == 'Finance')
- {
- CF++;
- }
- }
- System.out.println("Java: " + CJ);
- System.out.println("Managment: " + CM);
- System.out.println("Finance: " + CF);
- }
- if(choice == 4)
- {
- System.out.println("Students and Teachers that share the same academic interest and have average grade and rating bigger than 8.");
- //too complex
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement