Advertisement
zsoltizbekk

végzős hallgatók

Oct 25th, 2015
129
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.09 KB | None | 0 0
  1. import java.util.Arrays;
  2. import java.util.Scanner;
  3.  
  4. class Személy implements Comparable<Személy>{
  5.    
  6.     final private String név;
  7.     final private int életkor;
  8.    
  9.     public Személy (String név, int életkor){
  10.         this.név = név;
  11.         this.életkor = életkor;
  12.     }
  13.  
  14.     @Override
  15.     public String toString() {
  16.         StringBuilder sb = new StringBuilder();
  17.         sb.append(név).append(" (").append(életkor).append(" éves)");
  18.         return sb.toString();
  19.     }
  20.  
  21.     @Override
  22.     public int compareTo(Személy t) {
  23.         if (this.életkor > t.életkor)
  24.             return 1;
  25.         else if (this.életkor < t.életkor)
  26.             return -1;
  27.         else
  28.             return this.név.compareTo(t.név);
  29.     }
  30.    
  31. }
  32.  
  33. class Hallgató extends Személy{
  34.     final private boolean végzős;
  35.  
  36.     public Hallgató(String név, int életkor, boolean végzős) {
  37.         super(név, életkor);
  38.         this.végzős = végzős;
  39.     }
  40.  
  41.     @Override
  42.     public String toString() {
  43.         StringBuilder sb = new StringBuilder();
  44.         sb.append(super.toString()).append(":");
  45.         if (végzős)
  46.             sb.append(" végzős");
  47.         else
  48.             sb.append(" nem végzős");
  49.         return sb.toString();
  50.     }
  51.    
  52.    
  53. }
  54.  
  55. public class Main {
  56.  
  57.     public static void main(String[] args) {
  58.         Scanner sc = new Scanner(System.in);
  59.         int i, szam;
  60.         String[] line;
  61.         line = sc.nextLine().split(" ");
  62.         szam = Integer.parseInt(line[0]);
  63.         Személy[] személyek = new Személy[szam];
  64.         for (i = 0; i < szam; i++) {
  65.             line = sc.nextLine().split(";");
  66.             if (line[0].equals("H"))
  67.                 személyek[i] = new Hallgató(line[1], Integer.parseInt(line[2]), line[3].equals("+"));
  68.             else
  69.                 személyek[i] = new Személy(line[1], Integer.parseInt(line[2]));
  70.         }        
  71.         Arrays.sort(személyek);
  72.         for (Személy személy : személyek){
  73.             System.out.println(személy);
  74.         }
  75.            
  76.        
  77.     }
  78.    
  79. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement