From b1cd6b9f710ffa84c4995b6d70a27d9b3f9134c3 Mon Sep 17 00:00:00 2001 From: vesal <vesal@jyu.fi> Date: Mon, 27 Mar 2023 11:39:08 +0300 Subject: [PATCH] Osaa lajitella avaimen perusteella muidenkin kenttien mukaan --- luennot/live23/src/kerho/Jasen.java | 35 ++++++++++++++++++++++++++++- 1 file changed, 34 insertions(+), 1 deletion(-) diff --git a/luennot/live23/src/kerho/Jasen.java b/luennot/live23/src/kerho/Jasen.java index d2adfc3..c8c28c9 100644 --- a/luennot/live23/src/kerho/Jasen.java +++ b/luennot/live23/src/kerho/Jasen.java @@ -48,10 +48,18 @@ public class Jasen implements Cloneable, Tietue { @Override public int compare(Jasen jasen1, Jasen jasen2) { - return jasen1.anna(k).compareTo(jasen2.anna(k)); + return jasen1.getAvain(k).compareTo(jasen2.getAvain(k)); } } + // Hetun tapauksessa + // 311201 => 011231 + // 121299 => 991212 + // Jäsenmaksun tapaukssa + // 11.00 => 000011.00 + // 9.00 => 000009.00 + + /** * @return montako kenttaa @@ -111,6 +119,31 @@ public class Jasen implements Cloneable, Tietue { } + /** + * Antaa k:n kentän sisällön merkkijonona + * @param k monenenko kentän sisältö palautetaan + * @return kentän sisältö merkkijonona + */ + public String getAvain(int k) { + switch ( k ) { + case 0: return "" + tunnusNro; + case 1: return "" + nimi.toUpperCase(); + case 2: return "" + hetu; // vaihda vuosi ja pvm keskenään + case 3: return "" + katuosoite; + case 4: return "" + postinumero; + case 5: return "" + postiosoite; + case 6: return "" + kotipuhelin; + case 7: return "" + tyopuhelin; + case 8: return "" + autopuhelin; + case 9: return "" + String.format("%4d", liittymisvuosi); + case 10: return "" + jmaksu; + case 11: return "" + maksu; + case 12: return "" + lisatietoja; + default: return "Äääliö"; + } + } + + /** * Antaa k:n kentän sisällön merkkijonona * @param k monenenko kentän sisältö palautetaan -- GitLab