Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Review #83

Open
wants to merge 29 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
29 commits
Select commit Hold shift + click to select a range
5325563
1. Dodanie pliku gitignore
HannaSauchuk Apr 8, 2024
ea3398d
2.Poprawka bledow formotawania
HannaSauchuk Apr 8, 2024
286b201
2. Poprawka bledow formotawania_2
HannaSauchuk May 6, 2024
6c58b8e
2. Poprawka bledow formotawania_3
HannaSauchuk May 6, 2024
0b966c5
3. Scalowanie zmian z galezi format do master
HannaSauchuk May 6, 2024
5e8dd96
4.1 Poprawa nazw klas
HannaSauchuk May 13, 2024
d39663b
4.2 Poprawa nazw metod
HannaSauchuk May 13, 2024
19ecc5e
Nowy gitignore (bo zmienialam srodowisko pracy z Eklipse na IntellijI…
HannaSauchuk May 13, 2024
72e977b
5.1 Poprawa bledow konwencji nazewniczej pol klas
HannaSauchuk May 13, 2024
2725458
Merge branch 'class-method-naming'
HannaSauchuk May 13, 2024
97f87ad
Name Fix
dyemm21 May 13, 2024
1bd4361
Final correct name.
dyemm21 May 13, 2024
bc2b6d2
6. Deklaracja stałych.
dyemm21 May 13, 2024
69f339a
7. Modyfikator final.
dyemm21 May 13, 2024
757c67d
4.1 Zmiana nazwy klasy z defaultCountingOutRhymer.java na DefaultCoun…
AdamSzymanskii May 20, 2024
1b05fea
8.Dodanie annotacji @Override
szadam9806 May 20, 2024
f1ff3d0
7.1 dodanie final w klasie Node
AdamSzymanskii May 20, 2024
3bb1619
7.1.1 Dodanie final w klasie FifiRyhmer
AdamSzymanskii May 20, 2024
f049013
Update DefaultCountingOutRhymer.java
AdamSzymanskii May 26, 2024
c4ed0fd
Merge pull request #2 from HannaSauchuk/constans
HannaSauchuk May 27, 2024
c140d4a
9.Zastosowanie możliwie najmniejszą widoczność
HannaSauchuk May 27, 2024
d51782a
10. Dodanie getter do zmiennej total
HannaSauchuk May 27, 2024
51ee70e
11. Hermetyzacja nieprywatnych atrybutów
HannaSauchuk May 27, 2024
e1f66eb
12. Usuwanie nieużywanych getterów/setterów + Poprawa pliku DefaultCo…
HannaSauchuk May 27, 2024
7436fe5
Merge pull request #4 from HannaSauchuk/Accessory-hermetyzacja
HannaSauchuk May 27, 2024
fa85b0e
13. Utworzenie metody statycznej testRhymers
HannaSauchuk Jun 2, 2024
b17ce00
17. Dodanie dokumentacji do wybranej klasy
HannaSauchuk Jun 8, 2024
84fa31d
Merge pull request #5 from HannaSauchuk/docs
HannaSauchuk Jun 8, 2024
36648e1
18. Dodanie klasów z folderu test, bo przy zmianie przy poprawie nazw…
HannaSauchuk Jun 8, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 9 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
/target/
/.settings/
/.classpath
/.project

target/
.idea/
*.iml
*.iws
86 changes: 86 additions & 0 deletions src/main/java/edu/kis/vh/nursery/DefaultCountingOutRhymer.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,86 @@
package edu.kis.vh.nursery;

/**
* Klasa DefaultCountingOutRhymer implementuje licznik, który przechowuje
* elementy w tablicy o stałej wielkości. Ma takie opercje jak dodawanie elementu
* do tablicy, sprawdzenie czy licznik jest pusty lub pełny oraz podgląd
* ostatniego elementu i jego usuwanie z tablicy.
*/
public class DefaultCountingOutRhymer {
/**
* Wartość, która oznacza, że tablica jest pusta.
*/
private static final int EMPTY = -1;
/**
* Wartość minimalna zwracana przez metodę peekaboo, gdy licznik jest pusty.
*/
private static final int PEEKABOO_MIN = -1;
/**
* Rozmiar tablicy przechowującej elementy licznika.
*/
private static final int MAX_SIZE = 12;
/**
* Tablica przechowująca elementy licznika.
*/
private final int[] numbers = new int[MAX_SIZE];
/**
* Indeks wskazujący na ostatni dodany element w tablicy
* z przypisaną wartością domyślną EMPTY.
*/
private int total = EMPTY;

/**
* Zwraca obecny indeks ostatniego elementu w liczniku.
* @return indeks ostatniego elementu
*/
public int getTotal() {
return total;
}

/**
* Dodaje nowy element do tablicy.
* Przed dododwaniem sprawdza, czy tablica nie jest pełna
* @param in wartość dodawanego elementu
*/
public void countIn(int in) {
if (!isFull())
numbers[++total] = in;
}

/**
* Sprawdza czy licznik jest pusty.
* @return true, jak licznik jest pusty, false w przeciwnym przypadku
*/
public boolean callCheck() {
return getTotal() == EMPTY;
}

/**
* Sprawdza czy licznik jest pełny.
* @return true, jak licznik jest pełny, false w przeciwnym przypadku
*/
public boolean isFull() {
return getTotal() == MAX_SIZE - 1;
}

/**
* Zwraca ostatni dodany element bez jego usuwania z tablicy.
* @return ostatni element w tablicy lub -1 (PEEKABOO_MIN) w przypadku pustej tablicy licznika
*/
protected int peekaboo() {
if (callCheck())
return PEEKABOO_MIN;
return numbers[getTotal()];
}

/**
* Zwraca ostatni element z tablicy oraz usuwa go.
* @return osatni element w tablicy lub -1 (MIN) jeżeli tablica jest pusta
*/
public int countOut() {
if (callCheck())
return EMPTY;
return numbers[total--];
}

}
26 changes: 14 additions & 12 deletions src/main/java/edu/kis/vh/nursery/FIFORhymer.java
Original file line number Diff line number Diff line change
@@ -1,21 +1,23 @@
package edu.kis.vh.nursery;

public class FIFORhymer extends defaultCountingOutRhymer {
public class FifoRhymer extends DefaultCountingOutRhymer {

private final DefaultCountingOutRhymer temp = new DefaultCountingOutRhymer();

public defaultCountingOutRhymer temp = new defaultCountingOutRhymer();

@Override
public int countOut() {
while (!callCheck())

temp.countIn(super.countOut());

int ret = temp.countOut();

while (!temp.callCheck())

countIn(temp.countOut());

getTemp().countIn(super.countOut());

int ret = getTemp().countOut();

while (!getTemp().callCheck())
countIn(getTemp().countOut());

return ret;
}

public DefaultCountingOutRhymer getTemp() {
return temp;
}
}
23 changes: 16 additions & 7 deletions src/main/java/edu/kis/vh/nursery/HanoiRhymer.java
Original file line number Diff line number Diff line change
@@ -1,17 +1,26 @@
package edu.kis.vh.nursery;

public class HanoiRhymer extends defaultCountingOutRhymer {
public class HanoiRhymer extends DefaultCountingOutRhymer {

int totalRejected = 0;
private int totalRejected = 0;

public int reportRejected() {
return totalRejected;
return getTotalRejected();
}

@Override
public void countIn(int in) {
if (!callCheck() && in > peekaboo())
totalRejected++;
else
super.countIn(in);
if (!callCheck() && in > peekaboo())
setTotalRejected(getTotalRejected() + 1);
else
super.countIn(in);
}

public int getTotalRejected() {
return totalRejected;
}

public void setTotalRejected(int totalRejected) {
this.totalRejected = totalRejected;
}
}
34 changes: 0 additions & 34 deletions src/main/java/edu/kis/vh/nursery/defaultCountingOutRhymer.java

This file was deleted.

21 changes: 10 additions & 11 deletions src/main/java/edu/kis/vh/nursery/factory/DefaultRhymersFactory.java
Original file line number Diff line number Diff line change
@@ -1,29 +1,28 @@
package edu.kis.vh.nursery.factory;

import edu.kis.vh.nursery.defaultCountingOutRhymer;
import edu.kis.vh.nursery.FIFORhymer;
import edu.kis.vh.nursery.DefaultCountingOutRhymer;
import edu.kis.vh.nursery.FifoRhymer;
import edu.kis.vh.nursery.HanoiRhymer;
import edu.kis.vh.nursery.factory.Rhymersfactory;

public class DefaultRhymersFactory implements Rhymersfactory {
public class DefaultRhymersFactory implements RhymersFactory {

@Override
public defaultCountingOutRhymer GetStandardRhymer() {
return new defaultCountingOutRhymer();
public DefaultCountingOutRhymer getStandardRhymer() {
return new DefaultCountingOutRhymer();
}

@Override
public defaultCountingOutRhymer GetFalseRhymer() {
return new defaultCountingOutRhymer();
public DefaultCountingOutRhymer getFalseRhymer() {
return new DefaultCountingOutRhymer();
}

@Override
public defaultCountingOutRhymer GetFIFORhymer() {
return new FIFORhymer();
public DefaultCountingOutRhymer getFIFORhymer() {
return new FifoRhymer();
}

@Override
public defaultCountingOutRhymer GetHanoiRhymer() {
public DefaultCountingOutRhymer getHanoiRhymer() {
return new HanoiRhymer();
}

Expand Down
15 changes: 15 additions & 0 deletions src/main/java/edu/kis/vh/nursery/factory/RhymersFactory.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
package edu.kis.vh.nursery.factory;

import edu.kis.vh.nursery.DefaultCountingOutRhymer;

public interface RhymersFactory {

public DefaultCountingOutRhymer getStandardRhymer();

public DefaultCountingOutRhymer getFalseRhymer();

public DefaultCountingOutRhymer getFIFORhymer();

public DefaultCountingOutRhymer getHanoiRhymer();

}
15 changes: 0 additions & 15 deletions src/main/java/edu/kis/vh/nursery/factory/Rhymersfactory.java

This file was deleted.

35 changes: 22 additions & 13 deletions src/main/java/edu/kis/vh/nursery/list/IntLinkedList.java
Original file line number Diff line number Diff line change
Expand Up @@ -2,21 +2,22 @@

public class IntLinkedList {

Node last;
int i;
private static final int MIN = -1;
private Node last;
private int i;

public void push(int i) {
if (last == null)
last = new Node(i);
if (getLast() == null)
setLast(new Node(i));
else {
last.next = new Node(i);
last.next.prev = last;
last = last.next;
getLast().setNext(new Node(i));
getLast().getNext().setPrev(getLast());
setLast(getLast().getNext());
}
}

public boolean isEmpty() {
return last == null;
return getLast() == null;
}

public boolean isFull() {
Expand All @@ -25,16 +26,24 @@ public boolean isFull() {

public int top() {
if (isEmpty())
return -1;
return last.value;
return MIN;
return getLast().getValue();
}

public int pop() {
if (isEmpty())
return -1;
int ret = last.value;
last = last.prev;
return MIN;
int ret = getLast().getValue();
setLast(getLast().getPrev());
return ret;
}

public Node getLast() {
return last;
}

public void setLast(Node last) {
this.last = last;
}

}
26 changes: 23 additions & 3 deletions src/main/java/edu/kis/vh/nursery/list/Node.java
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,31 @@

public class Node {

public int value;
public Node prev, next;
private final int value;
private Node prev;
private Node next;

public Node(int i) {
value = i;
}


public int getValue() {
return value;
}

public Node getPrev() {
return prev;
}

public void setPrev(Node prev) {
this.prev = prev;
}

public Node getNext() {
return next;
}

public void setNext(Node next) {
this.next = next;
}
}
Loading