Advertisement
Guest User

Untitled

a guest
Jan 17th, 2018
316
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 8.25 KB | None | 0 0
  1. package prvafinal;
  2. import java.io.BufferedReader;
  3. import java.io.IOException;
  4. import java.io.InputStreamReader;
  5.  
  6. class Person{
  7. String name, email;
  8. int age;
  9.  
  10. public Person(String name, String email, int age){
  11. this.name = name;
  12. this.email = email;
  13. this.age = age;
  14. }
  15.  
  16. public String getName(){
  17. return name;
  18. }
  19.  
  20. public String getEmail() {
  21. return email;
  22. }
  23.  
  24. public int getAge(){
  25. return age;
  26. }
  27.  
  28. void printIdentify(){
  29. System.out.println("Person name: " + getName());
  30. System.out.println("Person email: " + getEmail());
  31. System.out.println("Person age: " + getAge());
  32. }
  33. }
  34.  
  35. abstract interface Worker{
  36. int getSalary();
  37. }
  38.  
  39. abstract interface AcademicInterest{
  40. String getInterest();
  41. }
  42.  
  43. class Student extends Person implements AcademicInterest{
  44. public int avgrade;
  45. public String schoolClass;
  46. public Student(String name, String email, int age,String schoolClass, int avgrade) {
  47. super(name, email, age);
  48. this.avgrade=avgrade;
  49. this.schoolClass=schoolClass;
  50. System.out.println("Values ranging only between 5 to 10");
  51. }
  52.  
  53. public int getAvgrade(){
  54. return avgrade;
  55. }
  56.  
  57. @Override
  58. public String getInterest() {
  59. throw new UnsupportedOperationException("Not supported yet.");
  60. }
  61.  
  62. }
  63.  
  64. class Teacher extends Person {
  65. public int rating;
  66. public int salary;
  67. public String job;
  68. public Teacher(String name, String email, int age, String job, int rating, int salary) {
  69. super(name, email, age);
  70. this.job=job;
  71. this.rating=rating;
  72. this.salary=salary;
  73. }
  74. public int getRating(){
  75. return rating;
  76. }
  77. @Override
  78. void printIdentify(){
  79. System.out.println("Person name: " + name);
  80. System.out.println("Person email: " + email);
  81. System.out.println("Person age: " + age);
  82. System.out.println("Person rating: " + rating);
  83. System.out.println("Person job: " + job);
  84. System.out.println("Person salary: " + salary);
  85. }
  86. }
  87.  
  88. class Plummer extends Person {
  89. public int salary;
  90. public Plummer(String name, String email, int age, int salary) {
  91. super(name, email, age);
  92. this.salary=salary;
  93. }
  94. @Override
  95. public void printIdentify(){
  96. System.out.println("Person name: " + name);
  97. System.out.println("Person email: " + email);
  98. System.out.println("Person age: " + age);
  99. System.out.println("Person salary: " + salary);
  100. }
  101.  
  102. }
  103.  
  104. public class PrvaFinal {
  105. public static void main(String[] args) throws IOException {
  106.  
  107. InputStreamReader isr = new InputStreamReader(System.in);
  108. BufferedReader input = new BufferedReader(isr);
  109.  
  110. Person array[]=new Person[10];
  111. array[0]=new Person("Dan", "mit@gmail.com", 38);
  112. array[1]=new Plummer("John", "john@gmail.com", 48, 15000);
  113. array[2]=new Student("Jacob", "jacob@gmail.com", 24, "Java", 6);
  114. array[3]=new Student("Ian", "ian@gmail.com", 22, "Java", 8);
  115. array[4]=new Student("Coolio", "coolio@gmail.com", 25, "Management", 9);
  116. array[5]=new Student("Mark", "mark@gmail.com", 23, "Java", 8);
  117. array[6]=new Teacher("Fran", "fran@gmail.com", 48, "Java", 9, 80000);
  118. array[7]=new Teacher("Richie", "richie@gmail.com", 52, "Java", 8, 49900);
  119. array[8]=new Teacher("Roger", "roger@gmail.com", 39, "Management", 8, 70000);
  120. array[9]=new Teacher("Homer", "homer@gmail.com", 42, "Management", 6, 40000);
  121. System.out.println("Choose an option <enter its index>");
  122. System.out.println("1. Identify all workers with salary bigger then 20000 mkd");
  123. System.out.println("2. Identify all teachers with rating bigger then 7");
  124. System.out.println("3. Count people with same academic interest");
  125. System.out.println("4. Group students and teachers that share the same academic interest and have average grade or rating bigger then 8");
  126.  
  127. String izbor1=input.readLine();
  128. int izbor2=Integer.parseInt(izbor1);
  129.  
  130. for (;;) {
  131.  
  132. if(izbor2==1) {
  133. for (int i = 0; i<10; i++){
  134. if (array[i] instanceof Worker && (((Worker)array[i]).getSalary()>20000)){
  135. array[i].printIdentify();
  136. }
  137. }
  138. System.out.println("********************");
  139. break;
  140. }
  141. if(izbor2==2) {
  142. for (int i =0; i<10; i++){
  143. if(array[i] instanceof Teacher && (((Teacher)array[i]).getRating()>7)){
  144. array[i].printIdentify();
  145.  
  146. }
  147. }
  148. System.out.println("********************");
  149. break;
  150. }
  151.  
  152. if(izbor2==3) {
  153. int javaInterest =0;
  154. int economicsInterest = 0;
  155. int managementInterest = 0;
  156. int financeInterest = 0;
  157. for (int i =0; i<10; i++){
  158. if(array[i] instanceof AcademicInterest){
  159. if (((AcademicInterest)array[i]).getInterest().equalsIgnoreCase("java")){
  160. javaInterest = javaInterest+1;
  161. }
  162. if (((AcademicInterest)array[i]).getInterest().equalsIgnoreCase("economics")){
  163. economicsInterest = economicsInterest+1;
  164. }
  165. if (((AcademicInterest)array[i]).getInterest().equalsIgnoreCase("finance")){
  166. financeInterest = financeInterest+1;
  167. }
  168. if (((AcademicInterest)array[i]).getInterest().equalsIgnoreCase("management")){
  169. managementInterest = managementInterest+1;
  170. }
  171. }
  172. }
  173. System.out.println("Java: " + javaInterest);
  174. System.out.println("Economics: " + economicsInterest);
  175. System.out.println("Management: " + managementInterest);
  176. System.out.println("Finance: " + financeInterest);
  177. System.out.println("********************");
  178. break;
  179. }
  180. if(izbor2==4) {
  181. String javaInterest = "";
  182. String economicsInterest= "";
  183. String financeInterest= "";
  184. String managementInterest= "";
  185. for (int i =0;i<10;i++){
  186. if(array[i] instanceof Student && ((Student)array[i]).getAvgrade() > 8){
  187. if(((AcademicInterest)array[i]).getInterest().equalsIgnoreCase("java")){
  188. javaInterest = javaInterest + " " + array[i].getName();
  189. }
  190. if(((AcademicInterest)array[i]).getInterest().equalsIgnoreCase("economics")){
  191. economicsInterest = economicsInterest + " " + array[i].getName();
  192. }
  193. if(((AcademicInterest)array[i]).getInterest().equalsIgnoreCase("finance")){
  194. financeInterest = financeInterest + " " + array[i].getName();
  195. }
  196. if(((AcademicInterest)array[i]).getInterest().equalsIgnoreCase("management")){
  197. managementInterest = managementInterest + " " + array[i].getName();
  198. }
  199.  
  200. }
  201. }
  202. System.out.println("Java: " + javaInterest);
  203. System.out.println("Economics: " + economicsInterest);
  204. System.out.println("Management: " + managementInterest);
  205. System.out.println("Finance: " + financeInterest);
  206.  
  207. System.out.println("********************");
  208. break;
  209. }
  210.  
  211. System.out.println("Do you like to list more? <1-yes,0-no>\n");
  212. String izbor3 = input.readLine();
  213. int izbor4 = Integer.parseInt(izbor3);
  214. if(izbor4==0) {
  215. break;
  216. }
  217. }
  218. }
  219. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement