Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package sob;
- import java.util.Random;
- public class NumberSet {
- private static int MAX_SIZE = 100;
- private int[] nSet = new int[MAX_SIZE];
- private int size;
- /**
- * Dodaje liczbę k do zbioru liczb.
- * Jeżeli podana liczba już istnieje dodawana jest po raz drugi
- * @param i liczba, którą należy dodać od zbioru
- * @throws Exception występuje w przypadku przepełnienia tablicy
- */
- public void add(int i) throws Exception {
- assert (size < MAX_SIZE) : "Array is full";
- nSet[size] = i;
- size++;
- }
- /**
- * Usuwa liczbę k ze zbioru liczb.
- * W przypadku gdy zbiór nie posiada liczby podanej jako parametr rzucany jest wyjątek.
- * @param i liczba do usunięcia
- * @throws Exception w przypadku gdy zbiór nie posiada danej liczby
- */
- public void remove(int i) throws Exception {
- assert (contains(i)) : "Item not found!";
- for (int k = 0; k < size; k++) {
- if (i == nSet[k]) {
- for (int j = k; j < size; j++) {
- nSet[j] = nSet[j + 1];
- }
- size--;
- }
- }
- }
- /**
- * Losuje jedną liczbę ze zbioru liczb oraz usuwa ją ze zbioru.
- * @return wylosowana liczba
- * @throws Exception występuje w przypadku pustego zbioru
- */
- public int getRandomValue() throws Exception {
- assert (size > 0) : "Array is empty!";
- Random rand = new Random();
- int index = rand.nextInt(size);
- int toDeleteVal = nSet[index];
- remove(index);
- return toDeleteVal;
- }
- /**
- * Zwraca sumę wszystkich liczb ze zbioru.
- * @return Suma liczb. W przypadku pustego zbioru wynosi 0.
- */
- public int getSumOfElements() throws Exception {
- assert (size > 0) : "Array is empty!";
- int sum = 0;
- for (int i = 0; i < size; i++) {
- sum += nSet[i];
- }
- return sum;
- }
- /**
- * Dzieli każdy element ze zbioru przez n bez reszty.
- * @param d liczba przez którą będzie wykonane dzielenie.
- */
- public void divideAllElementsBy(int d) throws Exception {
- assert (size > 0) : "Array is empty!";
- assert (d != 0) : "Dividing by zero!";
- for (int i = 0; i < size; i++) {
- nSet[i] /= d;
- }
- }
- /**
- * Metoda sprawdza czy w zbiorze istnieje podany element
- * @param j element do sprawdzenia
- * @return true w przypadku odnalezienia wartości,
- * false w przeciwnym razie
- */
- public boolean contains(int j) {
- assert (size > 0) : "Array is empty!";
- boolean isInArray = false;
- for (int i = 0; i < size; i++) {
- if (nSet[i] == j) isInArray = true;
- }
- return isInArray;
- }
- /**
- * Zwraca rozmiar zbioru, czyli faktycznie dodanych liczbę elementów
- * @return rozmiar zbioru
- */
- public int getSize() {
- assert (size > 0) : "Array is empty!";
- return size;
- }
- /**
- * Zwraca element zbioru
- * @return element zbioru
- */
- public int getElement(int i) {
- // assert (size > 0) : "Array is empty!";
- return nSet[i];
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement