Witam, przerabiam zadanko podstaw programowania obiektowego. Moim problemem jest metoda dodajElement, nie mam żadnej koncepcji na stworzenie odpowiedniego warunku by pętla for mogła odpowiednio działać. Nie chce gotowego rozwiązania tylko jakieś podpowiedzi. Zadanie poniżej
https://zapodaj.net/36a42a8b754e6.jpg.html
package pl.samprojektuje.naukajava;
import java.io.File;
public class main {
public static void main(String[] args) {
Lista l = new Lista(5);
for (int i = 0; i<5;++i){
l.dodajElement((1<<i));
}
}
}
package pl.samprojektuje.naukajava;
public class Lista {
private int liczby[];
private int pojemność;
private int rozmiar;
Lista(int pojemność) {
this.pojemność = pojemność;
this.liczby = new int[pojemność];
this.rozmiar = 0;
}
public int dodajElement(int liczbaDodawana) {
for (int i = 0;i < liczby.length;i++){
liczby[i] = liczbaDodawana;
rozmiar++;
if(rozmiar>pojemność){
System.out.println("Nie można dodać więcej elementów lista pełna! ");
}
}
return liczbaDodawana;
}
}
Przykładowo, po wykonaniu poniższego fragmentu:
final int N = 10;
Lista l = new Lista(N);
for (int i = 0; i < N/2; ++i) {
l.dodajElement( (1 << i) );
}
l.dodajElement(2);
l.dodajElement(8);
l.pisz();
l.usunPierwszy(2);
l.pisz();
for (int i = 0; i < N/2; ++i) {
l.dodajElement( (1 << i) );
}
l.pisz();
System.out.println("Po usunięciu powtórzeń:");
l.usunPowtorzenia();
l.pisz();
Na ekranie powinno zostać wyświetlone:
Lista:
Pojemność: 10
Rozmiar: 7
Elementy: 1 2 4 8 16 2 8
Lista:
Pojemność: 10
Rozmiar: 6
Elementy: 1 4 8 16 2 8
Nie można dodać więcej elementów, lista pełna!
Lista:
Pojemność: 10
Rozmiar: 10
Elementy: 1 4 8 16 2 8 1 2 4 8
Po usunięciu powtórzeń:
Lista:
22
Pojemność: 10
Rozmiar: 5
Elementy: 16 1 2 4 8