idzik icon

Java-BootCamp-Enums-Guitar

idzik | PRO | 11/16/16 04:59:23 PM UTC | 0 ⭐ | 363 👁️ | Never ⏰ | []
Java |

3.37 KB

|

None

|

0 👍

/

0 👎

/*
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