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
Wenn du willst, erkläre ich dir **warum `toString()` so wichtig ist**, oder wie man das **formatiert (Tabellen, Preise summieren, Gesamtpreis berechnen)**.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
(2)
Meine Frage -->
wie lösche ich eine Arrayliste
@ -231,7 +231,7 @@ Wenn du möchtest, erkläre ich dir auch:
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-------->
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.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
(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;
}
public void angepassterBestand() throws FileNotFoundException {
/* public void angepassterBestand() throws FileNotFoundException {
for (int i=0;i<Artikel.size();i++){
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 {
for(int i=0;i<produkte.size();i++){
if(produkte.get(i).ID==p.ID){
produkte.get(i).Bestand-= Menge;
for(int j=0;j<Artikel.size();j++){
if (p.ID==Artikel.get(j).produkt.ID){
Artikel.get(j).produkt.Bestand+=Menge;
} else
Artikel.add(new WarenkorbArtikel(p, Menge));
}
for (int i = 0; i < produkte.size(); i++) {
if (produkte.get(i).ID == p.ID) {
produkte.get(i).Bestand -= Menge;
for (int j = 0; j < Artikel.size(); j++) {
if (p.ID == Artikel.get(j).produkt.ID) {
Artikel.get(j).produkt.Bestand += Menge;
break;
}
return;
}
Artikel.add(new WarenkorbArtikel(p, Menge));
}
@ -49,8 +50,6 @@ public class Warenkorb {
}
public boolean ProduktDa (int ID,int Menge) throws FileNotFoundException {
Produkt da = welchesProdukt(ID);
if(da==null){
@ -75,6 +74,7 @@ public class Warenkorb {
public void entferneArtikel(int ID) {
for(int i=0;i<Artikel.size();i++){
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
}
}

View File

@ -14,7 +14,7 @@ public class WarenkorbArtikel {
}
@Override
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(){
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.print(">>");
String wahl= sc.nextLine();
if(!wahl.equals("Y")){
if(!wahl.equalsIgnoreCase("Y")){
return;
}
IO.println("Bitte geben sie ihre Daten ein");

View File

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

View File

@ -1,21 +1,51 @@
package pack;
import org.junit.Before;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import java.util.ArrayList;
import static org.junit.jupiter.api.Assertions.*;
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
}
}