/*
ZADANIE
Stwórz swój własny enum, który będzie przechowywał typy gitar na świecie.
Następnie dopisz (lub wymyśl), dwa stałe parametry do tych gitar.
Proponuję : ilość strun, średnica bębna.
Napisz klasę, która będzie przechowywać typ gitary, cenę, nazwę i producenta.
Stwórz w niej gettery, settery i konstruktor.
Stwórz listę losowych gitar, a następnie stwórz metodę do sortowania ich względem średnicy bębna.
Program główny powinien poprosić użytkownika o wpisanie średnicy do konsoli
a następnie dopasować do niej gitarę i wypisać dane na jej temat.
*/
public class Guitar implements Comparable<Guitar>{
private GuitarEnum type;
private int price;
private String name;
private String manufacturer;
public Guitar(GuitarEnum type, int price, String name, String manufacturer) {
super();
setType(type);
setPrice(price);
setName(name);
setManufacturer(manufacturer);
}
public int getDiameter(){
return type.getDiameterofDrum();
}
@Override
public String toString() {
return "Guitar [type=" + type + ", diameter="+this.getType().getDiameterofDrum()+", price=" + price + ", name=" + name + ", manufacturer=" + manufacturer + "]";
}
public GuitarEnum getType() {
return type;
}
public void setType(GuitarEnum type) {
this.type = type;
}
public int getPrice() {
return price;
}
public void setPrice(int price) {
if (price<0)
this.price = price;
else this.price=0;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getManufacturer() {
return manufacturer;
}
public void setManufacturer(String manufacturer) {
this.manufacturer = manufacturer;
}
@Override
public int compareTo(Guitar g) {
if (this.getDiameter()<g.getDiameter()) return -1;
else if (this.getDiameter()>g.getDiameter()) return 1;
return 0;
}
}
import java.util.ArrayList;
import java.util.Collections;
import java.util.Iterator;
import java.util.List;
import java.util.Scanner;
public class GuitarEnumTest {
public static void main(String[] args) {
Guitar g1=new Guitar(GuitarEnum.ACOUSTIC,200,"gitara 1","firma 1");
Guitar g2=new Guitar(GuitarEnum.BASS,200,"gitara 2","firma 1");
Guitar g3=new Guitar(GuitarEnum.ELECTRIC,200,"gitara 2","firma 3");
List <Guitar>lista= new ArrayList<Guitar>();
lista.add(g1);
lista.add(g2);
lista.add(g3);
System.out.println(lista);
Collections.sort(lista);
System.out.println("\n");
System.out.println(lista);
Scanner skan=new Scanner(System.in);
System.out.println("Podaj średnicę");
int diameter=skan.nextInt();
for (Guitar guitar : lista) {
if (guitar.getDiameter()==diameter)
System.out.println(guitar);
}
}
}
public enum GuitarEnum {
BASS(1,3),ELECTRIC(2,5),ACOUSTIC(3,6);
private int numberOfStrings;
private int diameterofDrum;
private GuitarEnum(int numberOfStrings, int diameterofDrum) {
this.numberOfStrings = numberOfStrings;
this.diameterofDrum = diameterofDrum;
}
public int getNumberOfStrings() {
return numberOfStrings;
}
public void setNumberOfStrings(int numberOfStrings) {
this.numberOfStrings = numberOfStrings;
}
public int getDiameterofDrum() {
return diameterofDrum;
}
public void setDiameterofDrum(int diameterofDrum) {
this.diameterofDrum = diameterofDrum;
}
}
Comments