From 35ca87a86ed86665ec95238eeac1e99c160517ef Mon Sep 17 00:00:00 2001 From: Elisabeth Berg Date: Tue, 24 Mar 2026 17:51:38 +0100 Subject: [PATCH] Updated missing methods in Exchange class --- src/main/java/Exchange.java | 46 +++++++++++++++++++++++++++------- src/main/java/Player.java | 4 +-- target/classes/Exchange.class | Bin 3108 -> 3923 bytes 3 files changed, 39 insertions(+), 11 deletions(-) diff --git a/src/main/java/Exchange.java b/src/main/java/Exchange.java index 9c60de4..afbde59 100644 --- a/src/main/java/Exchange.java +++ b/src/main/java/Exchange.java @@ -41,11 +41,12 @@ public Stock getStock(String symbol) { } public List findStocks(String searchTerm) { - List result = new ArrayList<>(); + List result = new ArrayList<>(); + String lowerSearch = searchTerm.toLowerCase(); for (Stock stock : stockMap.values()) { - if (stock.getSymbol().contains(searchTerm) - || stock.getCompany().contains(searchTerm)) { + if (stock.getSymbol().toLowerCase().contains(lowerSearch) + || stock.getCompany().toLowerCase().contains(lowerSearch)) { result.add(stock); } } @@ -53,13 +54,40 @@ public List findStocks(String searchTerm) { return result; } - // public Transaction buy(String symbol, BigDecimal quantity, Player player) { - // return; - // } + public Transaction buy(String symbol, BigDecimal quantity, Player player) { + Stock stock = getStock(symbol); + + // unngå nullpointerexception + if (stock == null) { + return null; + } + + // lager en ny "andel" basert på nåværende salgspris + Share shareToBuy = new Share(stock, quantity, stock.getSalesPrice()); + + // oppretter kjøpstransaksjonen for den uka + Purchase purchase = new Purchase(shareToBuy, this.week); + + // committer til player + purchase.commit(player); + + return purchase; + } + + public Transaction sell(Share share, Player player) { + // unngå nullpointerexception + if (share == null) { + return null; + } - // public Transaction sell(Share share, Player player) { - // return; - // } + // oppretter salgstransaksjonen for den uka + Sale sale = new Sale(share, this.week); + + // commiter til player + sale.commit(player); + + return sale; + } public void advance() { diff --git a/src/main/java/Player.java b/src/main/java/Player.java index e94241c..59b4f72 100644 --- a/src/main/java/Player.java +++ b/src/main/java/Player.java @@ -24,11 +24,11 @@ public BigDecimal getMoney() { } public void addMoney(BigDecimal amount) { - this.money.add(amount); + this.money = this.money.add(amount); } public void withdrawMoney(BigDecimal amount) { - this.money.subtract(amount); + this.money = this.money.subtract(amount); } public Portfolio getPortfolio() { diff --git a/target/classes/Exchange.class b/target/classes/Exchange.class index 1a55e6d7d62f120e9e1d96e74949362b515e4d4e..dde00a72d61651ff9f9d6fc58b3ce5aab8aebf08 100644 GIT binary patch delta 1449 zcmY*X{ZmwB7(FlC57@m}Avs(tR0Nwv&<}mkc`v)n@WVcP@B5s4o^#Igo-4jx;`#l* zE7t&Q#cvlpe<-CM>_)GF2sR6NQ;AUGa3tAijYPbtN1uUyMD4$o_2q*o*AWva8nDK! zn$c7=R@0b>#UkNUG!d5^aRUhq+fAzfo}_^hN$2T{q#6@L!&ZFUi!zKF7_(2SYwz~P zv%&z3nzw#qA3@U71cqGL!(wa6-`mJ%S}1ju&bH9ta_Rs zk(}*`?b4l|nLxyFMgb9_teT*JG7^a~-jb}AEYb29bi7Y!n-!yhNt~4Bl#g+^vm^;S zloOH&lIm9Pm=zBbyat~cIET;eztr;lDSV^jYwps1Oe<0ie2eew25m#$6fPLJh#7lW z+jjpHzURI$laDFP8n}!J^6%fVuf@ZID+cEAgZ-!G)21yOa z;|)77kM6En^z5l}5Z+sP3HQz6puijk1On=L)S2oWDg~~iHlUb_gN?-b9SlvPP`)0@ zyq!_6-Hu9D?+z&wRr*VX}ki0)rqt5^OO2+n#4CWS8F+Go?U8ceu z92}d)ive{WC%R0PsTR-Tm4IeyOzt&Po929~Zy-a7%M)PTO8wigg1*<#Wi=gbq6e8s z)8ee9MC#GuCc^nRjR|^{PjA8|CtYL`S%YG{g}14+8u@q!@A4a&Ngl*MNUxAUf%kAG zW9bM(RM=i!m9a9}RkbMmgS~#AgAe_3my4oTxhrZRzLliySjp8CqstXrxyZ64b~VmY zgpkax#2lh^6n=z{NhbB=Ldf-gVi$NzTeDYh&w1?hWiMWcAs>@>v(&+-Mfjqx2wx69 zr1*=K%lOK{bU^c)nuALL-PA9_aWHol`BkRw;HsVWnq^PIgKn%x57*m^EjY*<(~lMm xU_S=g=|&WB`>J={x}TV4E)fsl26wCwXW|#0X++m7-6two2@Nk6rB69ah5JU~($Mgz2;mqTN$4O4DCnc_vdwPf^tP#6fie(5ISS#mLb`Tpw9&O+djWT3Z z8m%Wqo+#k`_cn^RNtAl>CMm&E7>dn`O8GVhla$TS6t(|U^;a#JQ7SD5buv`ZIt|}E zK`K6t-XyGt)3TikpW|VMdc&OVUv4If&3Byjxm0H-BDT-fIu%i`xbCCJ3C1GI=Z=0J zic~h>3UX8!VnUFVnNu{;LYj7o9pd%TrhkUY%kMENlu71up9iv+6cNTnv!!kp4;j@p M1*PhdFb8=22QVXna{vGU