Store
timor
java
4 years ago
2.8 kB
7
Indexable
import java.util.ArrayList;
import java.util.Collections;
public class Store {
private ArrayList<Tablet> tablets;
private int countI;
private int countA;
private int countW;
/**
* default constructor
*/
public Store() {
countA = 0;
countI = 0;
countW = 0;
tablets = new ArrayList<Tablet>();
}
/**
* copy constructor
*/
public Store(Store other) {
countA = other.countA;
countI = other.countI;
countW = other.countW;
for (Tablet otherTablet : other.tablets) {
tablets.add(new Tablet(otherTablet));
}
}
public int getCountA() {
return countA;
}
public int getCountI() {
return countI;
}
public int getCountW() {
return countW;
}
/**
*
* @param tablet - the tablet that we want to search on the store
* @return if the tablet is on the store we return true' if not false we use the
* isSame method to know if the tablet exist in the store
*/
public boolean tabletExistInStore(Tablet tablet) {
int i = 0;
boolean isExist = false;
while (i < tablets.size()) {
if (tablet.isSame(tablets.get(i)) == true) {
isExist = true;
}
i++;
}
return isExist;
}
/**
*
* @param tablet the tablet that we want to add to store
* first if the store have exactly tablet that we want to add then we set the highest
* price we use for this the price setter ,
* then we check the tablet system and add to count of the system
* after that we add the tablet.
*/
public void addTablet(Tablet tablet) {
int i = 0;
if (tabletExistInStore(tablet) == true) {
while (i < tablets.size()) {
if (tablet.isSame(tablets.get(i)) == true) {
if (tablet.getPrice() > tablets.get(i).getPrice()) {
tablets.get(i).setPrice(tablet.getPrice());
}
else if (tablet.getPrice() < tablets.get(i).getPrice()) {
tablet.setPrice(tablets.get(i).getPrice());
}
}
i++;
}
}
else {
if (tablet.getSystem() == 'I') {
countI++;
} else if (tablet.getSystem() == 'A') {
countA++;
} else {
countW++;
}
tablets.add(tablet);
}
}
public void sortStore() {
int n = tablets.size();
for (int i = n - 1; i > 0; i--) {
for (int j = 0; j < i; j++) {
if (tablets.get(j).getSystem() == 'I' && tablets.get(j + 1).getSystem() == 'A') {
Collections.swap(tablets, j, j + 1);
} else if (tablets.get(j).getSystem() == 'A' && tablets.get(j + 1).getSystem() == 'W') {
Collections.swap(tablets, j, j + 1);
} else if (tablets.get(j).getSystem() == 'I' && tablets.get(j + 1).getSystem() == 'W') {
Collections.swap(tablets, j, j + 1);
}
}
}
for (int p = 0; p < n; p++) {
tablets.get(p).printTablet();
}
}
}
Editor is loading...