problem z pętlą i konstruktorem

problem z pętlą i konstruktorem
  • Rejestracja: dni
  • Ostatnio: dni
0

Cześć,
jak poprawić mój kod, aby podczas działania pętli do while nie następowało nadpisywanie konstruktora p ? Następnie chcę wyświetlić wpisane dane. Na myśl przychodzą mi kolekcje ale przy próbie dodawania do kolekcji IDE zwraca mi błąd.

Kopiuj
        do {
            p = new Pozycja(nazwa(), 3.00,sztuk());
            ileDodanych += 1;
        } while (ileDodanych < 5);

        for (int i = 1; i <= ileDodanych; i++) {
            System.out.println(p.toString());
        }

z góry dzięki za pomoc.

Kamil Golis
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Łódź
  • Postów: 19
0

W pętli do while tworzysz za każdym razem nowy obiekt ale nigdzie go nie zapisujesz. Zrób sobie np. listę i dodawaj do niej obiekt p przy każdej iteracji.

  • Rejestracja: dni
  • Ostatnio: dni
0
Kopiuj
        List<Integer> list1 = new ArrayList<>();
        Integer[] list2 = new Integer[5];
        
do {
            p = new Pozycja("cukier", 3.00, 15);
            list1.add(p);
            //lub
            list2[ileDodanych] = p;
            ileDodanych += 1;
        } while (ileDodanych < 2);

        for (int i = 1; i <= ileDodanych; i++) {
            System.out.println(p.toString());
        }

Gdy dodaje do listy, IDE zwraca mi komunikat ze nie można konwertować na Integera (gdy utowrzę listę Stringów dostaję analogiczny komunikat).

atmal
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 913
0

Musisz stworzyć listę typu Pozycja.

Pafker
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 17
0

Musisz stworzyć listę, w której będziesz trzymać obiekty typu Pozycja.

Kopiuj
List<Pozycja> lista = new ArrayList<>();
  • Rejestracja: dni
  • Ostatnio: dni
0

działa, dzieki

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.