Programozó versenyek

Programozási technológiák, 2015. március 18., Sze16 ZH

2015. március 18. 16:25 – 2015. március 18. 17:58

Járatok

Tekintse az alábbi osztálydiagramot!

Töltse le a Teszt.java osztályt, majd egészítse ki egy Járat osztállyal a fenti ábrának megfelelően.

Figyeljen arra, hogy az osztály toString() metódusát úgy írja meg, hogy a példa kimenetben látható formátumban lehessen előállítani ezen osztályok példányainak sztringreprezentációját!

A Teszt osztályban implementáljon egy állomások metódust, mely paraméterül megkap egy járatokat tartalmazó listát és visszaad egy Map objektumot, melyben a kulcs az állomás neve (egy sztring), az érték pedig azon járatok listája, melyek az adott állomáson megállnak. Az eredményként előállított Map-ben a kulcsok lexikografikusan növekvő sorrendben legyenek rendezve, még a járatokat tartalmazó lista a járatok menetideje szerint növekvő sorrendben. Tipp: SortedMap interfész, illetve az azt megvalósító TreeMap osztály használata javasolt.

Teszt.java

  1. import java.util.ArrayList;
  2. import java.util.Collections;
  3. import java.util.Comparator;
  4. import java.util.List;
  5. import java.util.Map;
  6. import java.util.Scanner;
  7. import java.util.TreeMap;
  8. /* Your code here */
  9. public class Teszt {
  10.     /* Your code here */
  11.     public static void main(String[] args) {
  12.         Scanner sc = new Scanner(System.in);
  13.         List<Járat> járatok = new ArrayList<Járat>();
  14.         while (sc.hasNextLine()) {
  15.             String[] sorTömb = sc.nextLine().split(";");
  16.             List<String> állomások = new ArrayList<String>();
  17.             for (int i = 2; i < sorTömb.length; i++) {
  18.                 állomások.add(sorTömb[i]);
  19.             }
  20.             járatok.add(new Járat(sorTömb[0], Integer.parseInt(sorTömb[1]),
  21.                     állomások));
  22.         }
  23.         Map<String, List<Járat>> állomások = állomások(járatok);
  24.         for (String állomás : állomások.keySet()) {
  25.             System.out.println(állomás + " " + állomások.get(állomás));
  26.         }
  27.     }
  28. }
letöltés szöveges állományként

Példa bemenet

  1. 1;21;Kerekerdő;Odvas Fa;Nagymama
  2. 2;13;Pagony;Malacka;Micimackó;Füles;Odvas Fa
  3. 3;34;Ürge;Tigris;Micimackó;Pagony
letöltés szöveges állományként

Példa kimenet

  1. Füles [2]
  2. Kerekerdő [1]
  3. Malacka [2]
  4. Micimackó [2, 3]
  5. Nagymama [1]
  6. Odvas Fa [2, 1]
  7. Pagony [2, 3]
  8. Tigris [3]
  9. Ürge [3]
letöltés szöveges állományként
Debreceni Egyetem, Informatikai Kar, v. 2019.03.01.