diff --git a/.idea/.gitignore b/.idea/.gitignore deleted file mode 100644 index 26d33521af10bcc7fd8cea344038eaaeb78d0ef5..0000000000000000000000000000000000000000 --- a/.idea/.gitignore +++ /dev/null @@ -1,3 +0,0 @@ -# Default ignored files -/shelf/ -/workspace.xml diff --git a/.idea/misc.xml b/.idea/misc.xml deleted file mode 100644 index 432b6463321993752b6a5bdf57f389f0f99993b6..0000000000000000000000000000000000000000 --- a/.idea/misc.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<project version="4"> - <component name="ProjectRootManager" version="2" project-jdk-name="19" project-jdk-type="JavaSDK"> - <output url="file://$PROJECT_DIR$/out" /> - </component> -</project> \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml deleted file mode 100644 index c4f025bc98ca8947ae5919d67478b0b4528f7ac0..0000000000000000000000000000000000000000 --- a/.idea/modules.xml +++ /dev/null @@ -1,8 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<project version="4"> - <component name="ProjectModuleManager"> - <modules> - <module fileurl="file://$PROJECT_DIR$/oop-demo3-esimerkit.iml" filepath="$PROJECT_DIR$/oop-demo3-esimerkit.iml" /> - </modules> - </component> -</project> \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml deleted file mode 100644 index 35eb1ddfbbc029bcab630581847471d7f238ec53..0000000000000000000000000000000000000000 --- a/.idea/vcs.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<project version="4"> - <component name="VcsDirectoryMappings"> - <mapping directory="" vcs="Git" /> - </component> -</project> \ No newline at end of file diff --git a/Verkkokauppa.java b/Verkkokauppa.java index f3a6e825491b48c7b7927f491627cc41b8e26bcb..cfe795eb80ea95bcd7ef1f8a3d3da7a7595288a6 100644 --- a/Verkkokauppa.java +++ b/Verkkokauppa.java @@ -2,28 +2,28 @@ import java.util.ArrayList; import java.util.HashMap; public class Verkkokauppa { - private ArrayList<Asiakas> asiakkaat; - private ArrayList<Tuote> tuotteet; - private ArrayList<Myyja> myyjat; + private HashMap<String, Asiakas> asiakkaat; + private HashMap<String, Tuote> tuotteet; + private HashMap<String, Myyja> myyjat; private ArrayList<Ostotapahtuma> tapahtumat; public Verkkokauppa() { - asiakkaat = new ArrayList<>(); - tuotteet = new ArrayList<>(); - myyjat = new ArrayList<>(); + asiakkaat = new HashMap<>(); + tuotteet = new HashMap<>(); + myyjat = new HashMap<>(); tapahtumat = new ArrayList<>(); } public void lisaaAsiakas(Asiakas asiakas) { - asiakkaat.add(asiakas); + asiakkaat.put(asiakas.getAsiakasNumero(), asiakas); } public void lisaaTuote(Tuote tuote) { - tuotteet.add(tuote); + tuotteet.put(tuote.getNimi(), tuote); } public void lisaaMyyja(Myyja myyja) { - myyjat.add(myyja); + myyjat.put(myyja.getTunniste(), myyja); } public void lisaaTapahtuma(Ostotapahtuma tapahtuma) { @@ -37,8 +37,8 @@ public class Verkkokauppa { * @return true, jos asiakas löytyi ja poistettiin, muuten false */ public boolean poistaAsiakas(Asiakas asiakas) { - if (asiakkaat.contains(asiakas)) { - asiakkaat.remove(asiakas); + if (asiakkaat.containsValue(asiakas)) { + asiakkaat.remove(asiakas.getAsiakasNumero()); return true; } return false; @@ -51,8 +51,8 @@ public class Verkkokauppa { * @return true, jos tuote löytyi ja poistettiin, muuten false */ public boolean poistaTuote(Tuote tuote) { - if (tuotteet.contains(tuote)) { - tuotteet.remove(tuote); + if (tuotteet.containsValue(tuote)) { + tuotteet.remove(tuote.getNimi()); return true; } return false; @@ -65,8 +65,8 @@ public class Verkkokauppa { * @return true, jos myyjä löytyi ja poistettiin, muuten false */ public boolean poistaMyyja(Myyja myyja) { - if (myyjat.contains(myyja)) { - myyjat.remove(myyja); + if (myyjat.containsValue(myyja)) { + myyjat.remove(myyja.getTunniste()); return true; } return false; @@ -94,7 +94,7 @@ public class Verkkokauppa { * @return pyydetyn asiakkaan tai null, jos asiakasta ei löydy */ public Asiakas annaAsiakas(String asiakasnumero) { - for (Asiakas asiakas : asiakkaat) { + for (Asiakas asiakas : asiakkaat.values()) { if (asiakas.getAsiakasNumero().equals(asiakasnumero)) { return asiakas; } @@ -110,7 +110,7 @@ public class Verkkokauppa { * @return pyydetyn tuotteen tai null, jos tuotetta ei löydy */ public Tuote annaTuote(String nimi) { - for (Tuote tuote : tuotteet) { + for (Tuote tuote : tuotteet.values()) { if (tuote.getNimi().equals(nimi)) { return tuote; } @@ -126,7 +126,7 @@ public class Verkkokauppa { * @return pyydetyn myyjän tai null, jos myyjää ei löydy */ public Myyja annaMyyja(String tunniste) { - for (Myyja myyja : myyjat) { + for (Myyja myyja : myyjat.values()) { if (myyja.getTunniste().equals(tunniste)) { return myyja; } @@ -149,7 +149,6 @@ public class Verkkokauppa { return null; } - /** * Palauttaa kaikki asiakkaat yhtenä merkkijonona. * @@ -160,7 +159,7 @@ public class Verkkokauppa { // \t on tabulaattori, joka tasaa tulosteen // sarakkeisiin; \n tekee rivinvaihdon StringBuilder s = new StringBuilder("Asiakasnumero\tNimi\t\t\tOstoja\tKanta-asiakas\n"); - for (Asiakas asiakas : asiakkaat) { + for (Asiakas asiakas : asiakkaat.values()) { s.append(asiakas.getAsiakasNumero() + "\t\t\t"); s.append(asiakas.getNimi() + "\t"); s.append(asiakas.getOstojaTehty() + "\t\t"); @@ -183,7 +182,7 @@ public class Verkkokauppa { // \t on tabulaattori, joka tasaa tulosteen // sarakkeisiin; \n tekee rivinvaihdon StringBuilder s = new StringBuilder("Tunniste\tNimi\t\t\tProvisiot\n"); - for (Myyja myyja : myyjat) { + for (Myyja myyja : myyjat.values()) { s.append(myyja.getTunniste() + "\t\t"); s.append(myyja.getNimi() + "\t\t"); s.append(myyja.getProvisiot() + "\n"); @@ -201,7 +200,7 @@ public class Verkkokauppa { // \t on tabulaattori, joka tasaa tulosteen // sarakkeisiin; \n tekee rivinvaihdon StringBuilder s = new StringBuilder("Nimi\tSaldo\t\t\tHinta\tVirtuaalinen\n"); - for (Tuote tuote : tuotteet) { + for (Tuote tuote : tuotteet.values()) { s.append(tuote.getNimi() + "\t"); s.append(tuote.getSaldo() + "\t\t"); s.append(tuote.getHinta() + "\t");