Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package prvafinal;
- import java.io.BufferedReader;
- import java.io.IOException;
- import java.io.InputStreamReader;
- class Person{
- String name, email;
- int age;
- public Person(String name, String email, int age){
- this.name = name;
- this.email = email;
- this.age = age;
- }
- public String getName(){
- return name;
- }
- public String getEmail() {
- return email;
- }
- public int getAge(){
- return age;
- }
- void printIdentify(){
- System.out.println("Person name: " + getName());
- System.out.println("Person email: " + getEmail());
- System.out.println("Person age: " + getAge());
- }
- }
- abstract interface Worker{
- int getSalary();
- }
- abstract interface AcademicInterest{
- String getInterest();
- }
- class Student extends Person implements AcademicInterest{
- public int avgrade;
- public String schoolClass;
- public Student(String name, String email, int age,String schoolClass, int avgrade) {
- super(name, email, age);
- this.avgrade=avgrade;
- this.schoolClass=schoolClass;
- System.out.println("Values ranging only between 5 to 10");
- }
- public int getAvgrade(){
- return avgrade;
- }
- @Override
- public String getInterest() {
- throw new UnsupportedOperationException("Not supported yet.");
- }
- }
- class Teacher extends Person {
- public int rating;
- public int salary;
- public String job;
- public Teacher(String name, String email, int age, String job, int rating, int salary) {
- super(name, email, age);
- this.job=job;
- this.rating=rating;
- this.salary=salary;
- }
- public int getRating(){
- return rating;
- }
- @Override
- void printIdentify(){
- System.out.println("Person name: " + name);
- System.out.println("Person email: " + email);
- System.out.println("Person age: " + age);
- System.out.println("Person rating: " + rating);
- System.out.println("Person job: " + job);
- System.out.println("Person salary: " + salary);
- }
- }
- class Plummer extends Person {
- public int salary;
- public Plummer(String name, String email, int age, int salary) {
- super(name, email, age);
- this.salary=salary;
- }
- @Override
- public void printIdentify(){
- System.out.println("Person name: " + name);
- System.out.println("Person email: " + email);
- System.out.println("Person age: " + age);
- System.out.println("Person salary: " + salary);
- }
- }
- public class PrvaFinal {
- public static void main(String[] args) throws IOException {
- InputStreamReader isr = new InputStreamReader(System.in);
- BufferedReader input = new BufferedReader(isr);
- Person array[]=new Person[10];
- array[0]=new Person("Dan", "mit@gmail.com", 38);
- array[1]=new Plummer("John", "john@gmail.com", 48, 15000);
- array[2]=new Student("Jacob", "jacob@gmail.com", 24, "Java", 6);
- array[3]=new Student("Ian", "ian@gmail.com", 22, "Java", 8);
- array[4]=new Student("Coolio", "coolio@gmail.com", 25, "Management", 9);
- array[5]=new Student("Mark", "mark@gmail.com", 23, "Java", 8);
- array[6]=new Teacher("Fran", "fran@gmail.com", 48, "Java", 9, 80000);
- array[7]=new Teacher("Richie", "richie@gmail.com", 52, "Java", 8, 49900);
- array[8]=new Teacher("Roger", "roger@gmail.com", 39, "Management", 8, 70000);
- array[9]=new Teacher("Homer", "homer@gmail.com", 42, "Management", 6, 40000);
- 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 then 7");
- System.out.println("3. Count people with same academic interest");
- System.out.println("4. Group students and teachers that share the same academic interest and have average grade or rating bigger then 8");
- String izbor1=input.readLine();
- int izbor2=Integer.parseInt(izbor1);
- for (;;) {
- if(izbor2==1) {
- for (int i = 0; i<10; i++){
- if (array[i] instanceof Worker && (((Worker)array[i]).getSalary()>20000)){
- array[i].printIdentify();
- }
- }
- System.out.println("********************");
- break;
- }
- if(izbor2==2) {
- for (int i =0; i<10; i++){
- if(array[i] instanceof Teacher && (((Teacher)array[i]).getRating()>7)){
- array[i].printIdentify();
- }
- }
- System.out.println("********************");
- break;
- }
- if(izbor2==3) {
- int javaInterest =0;
- int economicsInterest = 0;
- int managementInterest = 0;
- int financeInterest = 0;
- for (int i =0; i<10; i++){
- if(array[i] instanceof AcademicInterest){
- if (((AcademicInterest)array[i]).getInterest().equalsIgnoreCase("java")){
- javaInterest = javaInterest+1;
- }
- if (((AcademicInterest)array[i]).getInterest().equalsIgnoreCase("economics")){
- economicsInterest = economicsInterest+1;
- }
- if (((AcademicInterest)array[i]).getInterest().equalsIgnoreCase("finance")){
- financeInterest = financeInterest+1;
- }
- if (((AcademicInterest)array[i]).getInterest().equalsIgnoreCase("management")){
- managementInterest = managementInterest+1;
- }
- }
- }
- System.out.println("Java: " + javaInterest);
- System.out.println("Economics: " + economicsInterest);
- System.out.println("Management: " + managementInterest);
- System.out.println("Finance: " + financeInterest);
- System.out.println("********************");
- break;
- }
- if(izbor2==4) {
- String javaInterest = "";
- String economicsInterest= "";
- String financeInterest= "";
- String managementInterest= "";
- for (int i =0;i<10;i++){
- if(array[i] instanceof Student && ((Student)array[i]).getAvgrade() > 8){
- if(((AcademicInterest)array[i]).getInterest().equalsIgnoreCase("java")){
- javaInterest = javaInterest + " " + array[i].getName();
- }
- if(((AcademicInterest)array[i]).getInterest().equalsIgnoreCase("economics")){
- economicsInterest = economicsInterest + " " + array[i].getName();
- }
- if(((AcademicInterest)array[i]).getInterest().equalsIgnoreCase("finance")){
- financeInterest = financeInterest + " " + array[i].getName();
- }
- if(((AcademicInterest)array[i]).getInterest().equalsIgnoreCase("management")){
- managementInterest = managementInterest + " " + array[i].getName();
- }
- }
- }
- System.out.println("Java: " + javaInterest);
- System.out.println("Economics: " + economicsInterest);
- System.out.println("Management: " + managementInterest);
- System.out.println("Finance: " + financeInterest);
- System.out.println("********************");
- break;
- }
- System.out.println("Do you like to list more? <1-yes,0-no>\n");
- String izbor3 = input.readLine();
- int izbor4 = Integer.parseInt(izbor3);
- if(izbor4==0) {
- break;
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement