problem z pętlą i konstruktorem

problem z pętlą i konstruktorem
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.

szweszwe
Co to znaczy nadpisywanie konstruktora? Pokaż wersję z kolekcją.
Kamil Golis
  • Rejestracja:prawie 8 lat
  • Ostatnio:ponad 3 lata
  • 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.

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:około 8 lat
  • Ostatnio:19 dni
  • Postów:913
0

Musisz stworzyć listę typu Pozycja.


Failure of one test is a tragedy, failure of fifty is a statistic.
Pafker
  • Rejestracja:około 8 lat
  • Ostatnio:około 5 lat
  • Postów:17
0

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

Kopiuj
List<Pozycja> lista = new ArrayList<>();
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.