Fehler korrigiert (Menge angepasst, Fehler bei Artikel hinzufügen korrigiert)

main
Laura Kalkbrenner 2025-12-15 11:00:24 +01:00
parent bce0c1893c
commit 40d2da76ef
7 changed files with 69 additions and 28 deletions

View File

@ -123,7 +123,7 @@ ich habe eine ArrayListe bestehen hierraus:public class WarenkorbArtikel {
3. Keine direkten Feldzugriffe von außen 3. Keine direkten Feldzugriffe von außen
Wenn du willst, erkläre ich dir **warum `toString()` so wichtig ist**, oder wie man das **formatiert (Tabellen, Preise summieren, Gesamtpreis berechnen)**. Wenn du willst, erkläre ich dir **warum `toString()` so wichtig ist**, oder wie man das **formatiert (Tabellen, Preise summieren, Gesamtpreis berechnen)**.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
(2) (2)
Meine Frage --> Meine Frage -->
wie lösche ich eine Arrayliste wie lösche ich eine Arrayliste
@ -231,7 +231,7 @@ Wenn du möchtest, erkläre ich dir auch:
Sag einfach Bescheid. Sag einfach Bescheid.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
(3) größere KI-Änderung, da ich garnicht weitergekommen bin und nicht verstanden habe , wie ich dafür sorge; dass es immer das selbe Objekt ist--------> (3) größere KI-Änderung, da ich garnicht weitergekommen bin und nicht verstanden habe , wie ich dafür sorge; dass es immer das selbe Objekt ist-------->
Das Hauptproblem in deinem Code: Das Hauptproblem in deinem Code:
@ -288,4 +288,7 @@ Wenn du möchtest, erkläre ich dir auch:
Das sind die minimalen Änderungen, die nötig sind, um deine NullPointerExceptions zu behegen und sicherzustellen, dass Bestandsänderungen sichtbar werden. Das sind die minimalen Änderungen, die nötig sind, um deine NullPointerExceptions zu behegen und sicherzustellen, dass Bestandsänderungen sichtbar werden.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
(4) -------->durch die Seite auf Before gekommen
https://gist.github.com/samueltcsantos/2089ec68875f6f783a71
https://www.geeksforgeeks.org/advance-java/before-vs-beforeclass-vs-beforeeach-vs-beforeall-in-junit/

View File

@ -127,11 +127,11 @@ public class OnlineShop {
return bestellung; return bestellung;
} }
public void angepassterBestand() throws FileNotFoundException { /* public void angepassterBestand() throws FileNotFoundException {
for (int i=0;i<Artikel.size();i++){ for (int i=0;i<Artikel.size();i++){
ProduktListe.get(i).Bestand-= Artikel.get(i).Menge; ProduktListe.get(i).Bestand-= Artikel.get(i).Menge;
} }
} }*/
} }

View File

@ -31,17 +31,18 @@ public class Warenkorb {
} }
public void produktHinzufügen(Produkt p,int Menge) throws FileNotFoundException { public void produktHinzufügen(Produkt p,int Menge) throws FileNotFoundException {
for(int i=0;i<produkte.size();i++){ for (int i = 0; i < produkte.size(); i++) {
if(produkte.get(i).ID==p.ID){ if (produkte.get(i).ID == p.ID) {
produkte.get(i).Bestand-= Menge; produkte.get(i).Bestand -= Menge;
for(int j=0;j<Artikel.size();j++){ for (int j = 0; j < Artikel.size(); j++) {
if (p.ID==Artikel.get(j).produkt.ID){ if (p.ID == Artikel.get(j).produkt.ID) {
Artikel.get(j).produkt.Bestand+=Menge; Artikel.get(j).produkt.Bestand += Menge;
} else break;
Artikel.add(new WarenkorbArtikel(p, Menge)); }
}
return;
}
Artikel.add(new WarenkorbArtikel(p, Menge));
} }
@ -49,8 +50,6 @@ public class Warenkorb {
} }
public boolean ProduktDa (int ID,int Menge) throws FileNotFoundException { public boolean ProduktDa (int ID,int Menge) throws FileNotFoundException {
Produkt da = welchesProdukt(ID); Produkt da = welchesProdukt(ID);
if(da==null){ if(da==null){
@ -75,6 +74,7 @@ public class Warenkorb {
public void entferneArtikel(int ID) { public void entferneArtikel(int ID) {
for(int i=0;i<Artikel.size();i++){ for(int i=0;i<Artikel.size();i++){
if(Artikel.get(i).produkt.ID==ID){ if(Artikel.get(i).produkt.ID==ID){
Artikel.get(i).produkt.Bestand += Artikel.get(i).Menge;
Artikel.remove(i); //Von w3 Schools, da nur eine Zeile habe ich es gelassen Artikel.remove(i); //Von w3 Schools, da nur eine Zeile habe ich es gelassen
} }
} }

View File

@ -14,7 +14,7 @@ public class WarenkorbArtikel {
} }
@Override @Override
public String toString() { public String toString() {
return "Produkt: " + produkt + ", Menge: " + Menge +", Brutto-Preis insgesamt:" +neuPreis; //Mit KI siehe (1) return "Produkt: " + produkt + ", Menge: " + Menge +", Brutto-Preis insgesamt:" +neuPreis +" davon Mwst: "+ produkt.mwstSatz*Menge; //Mit KI siehe (1)
} }
public double berechneGesamtPreis(){ public double berechneGesamtPreis(){
if(Menge!=0){ if(Menge!=0){

View File

@ -126,7 +126,7 @@ public class ShopTUI {
IO.println("Sind sie sicher, dass sie zur Kasse wollen? Y/N"); IO.println("Sind sie sicher, dass sie zur Kasse wollen? Y/N");
IO.print(">>"); IO.print(">>");
String wahl= sc.nextLine(); String wahl= sc.nextLine();
if(!wahl.equals("Y")){ if(!wahl.equalsIgnoreCase("Y")){
return; return;
} }
IO.println("Bitte geben sie ihre Daten ein"); IO.println("Bitte geben sie ihre Daten ein");

View File

@ -1,7 +1,15 @@
package pack; package pack;
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.*; import static org.junit.jupiter.api.Assertions.*;
class OnlineShopTest { class OnlineShopTest {
@Test
void TestMenge(){
}
} }

View File

@ -1,21 +1,51 @@
package pack; package pack;
import org.junit.Before;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test; import org.junit.jupiter.api.Test;
import java.util.ArrayList;
import static org.junit.jupiter.api.Assertions.*; import static org.junit.jupiter.api.Assertions.*;
class WarenkorbTest { class WarenkorbTest {
Produkt p1 = new Produkt(9, "Wasser", 0.25,0.7, 19,50 );
Produkt p2 = new Produkt(10,"Bücher", 1.5, 20.99,7,9);
Produkt p3= new Produkt( 23,"1 cent Bonbon",0.001,0.01,7,1000);
Produkt p4 = new Produkt(27,"Auto",5000,25000,19,3);
Produkt p5= new Produkt(15,"Wein",0.9,5.00,19,9);
Produkt p6 = new Produkt(16,"Kaugummi",0.002,0.98,7,10);
Produkt p7= new Produkt(18,"EuroSchein",0.002,100,5,10);
ArrayList<Produkt> produktListe = new ArrayList<>();
/* @Test
void testGesamtPreis() {
Produkt p1 = new Produkt("Wein", 4.99);
Produkt p2 = new Produkt("Wasser", 0.7);
Warenkorb wk = new Warenkorb();
wk.produktHinzufügen(p1);
wk.produktHinzufügen(p2);
assertEquals(5.69, wk.berechneGesamtpreis(), 0.001); @Before
public void Listeerstellen() { //(4)
/* for (int i = 0; i < 7; i++) {
String prod = "p" + "i";
produktListe.add(prod);
}*/ produktListe.add(p1);
produktListe.add(p2);
produktListe.add(p3);
produktListe.add(p4);
produktListe.add(p5);
produktListe.add(p6);
produktListe.add(p7);
assertEquals(7,produktListe.size());
} }
*/ @Test
void TestProdukthinzufügen() {
Warenkorb warenkorb = new Warenkorb(produktListe);
assert
}
@Test
void TestaufLager(){
assert
}
} }