Initial Commit
This commit is contained in:
commit
3821a5ca26
6 changed files with 264 additions and 0 deletions
47
Bookcase.java
Normal file
47
Bookcase.java
Normal file
|
@ -0,0 +1,47 @@
|
|||
|
||||
public class Bookcase extends Furniture{
|
||||
private int shelves;
|
||||
|
||||
public Bookcase(String model, int weight, int category,int shelves) {
|
||||
super(model, weight, category);
|
||||
this.shelves=shelves;
|
||||
|
||||
}
|
||||
|
||||
public double calculatePrice() {
|
||||
double currentPrice = 50*shelves ;
|
||||
if(this.getCategory()==1) {
|
||||
currentPrice=(50*shelves)+(0.2*currentPrice);
|
||||
}
|
||||
else if(this.getCategory()==2) {
|
||||
currentPrice=(50*shelves)+(0.3*currentPrice);
|
||||
}else if(this.getCategory()==3) {
|
||||
currentPrice=(50*shelves)+(0.5*currentPrice);
|
||||
}
|
||||
return currentPrice;
|
||||
}
|
||||
|
||||
public String chooseCategory() {
|
||||
String aCategory="";
|
||||
if(this.getCategory()==1) {
|
||||
return aCategory ="Plastic";
|
||||
}
|
||||
else if(this.getCategory()==2) {
|
||||
return aCategory = "Metallic";
|
||||
}else if(this.getCategory()==3) {
|
||||
aCategory = "Wooden";
|
||||
}
|
||||
return aCategory;
|
||||
}
|
||||
|
||||
public int getShelves() {
|
||||
return shelves;
|
||||
}
|
||||
|
||||
public String getInfo() {
|
||||
super.getInfo();
|
||||
return "Shelves: "+this.getShelves();
|
||||
}
|
||||
|
||||
|
||||
}
|
42
Chair.java
Normal file
42
Chair.java
Normal file
|
@ -0,0 +1,42 @@
|
|||
|
||||
public class Chair extends Furniture{
|
||||
private String color;
|
||||
|
||||
public Chair(String model, int weight, int category,String color) {
|
||||
super(model, weight, category);
|
||||
this.color=color;
|
||||
|
||||
}
|
||||
|
||||
public String getColor() {
|
||||
return color;
|
||||
}
|
||||
|
||||
public double calculatePrice() {
|
||||
double currentPrice = 100 ;
|
||||
|
||||
if(this.getCategory()==3) {
|
||||
currentPrice=100+(0.3*currentPrice);
|
||||
}
|
||||
return currentPrice;
|
||||
}
|
||||
|
||||
|
||||
public String chooseCategory() {
|
||||
String aCategory="";
|
||||
if(this.getCategory()==1) {
|
||||
return aCategory ="Office chair";
|
||||
}
|
||||
else if(this.getCategory()==2) {
|
||||
return aCategory = "Cooperation Chair";
|
||||
}else if(this.getCategory()==3) {
|
||||
aCategory = "Armchair";
|
||||
}
|
||||
return aCategory;
|
||||
}
|
||||
|
||||
public String getInfo() {
|
||||
super.getInfo();
|
||||
return "Shelves: "+this.getColor();
|
||||
}
|
||||
}
|
57
Furniture.java
Normal file
57
Furniture.java
Normal file
|
@ -0,0 +1,57 @@
|
|||
import java.util.ArrayList;
|
||||
|
||||
public abstract class Furniture implements Comparable{
|
||||
|
||||
private String model;
|
||||
private int weight;
|
||||
private int category;
|
||||
|
||||
private ArrayList<Furniture> allFurniture = new ArrayList<Furniture>();
|
||||
|
||||
|
||||
public Furniture(String model, int weight, int category) {
|
||||
|
||||
this.model = model;
|
||||
this.weight = weight;
|
||||
this.category = category;
|
||||
}
|
||||
|
||||
public int getCategory() {
|
||||
return category;
|
||||
}
|
||||
|
||||
public boolean equals(Furniture o) {
|
||||
Furniture otherFurniture =(Furniture)o;
|
||||
return this.equals(otherFurniture);
|
||||
|
||||
}
|
||||
|
||||
public abstract double calculatePrice();
|
||||
public abstract String chooseCategory();
|
||||
|
||||
|
||||
public int getWeight() {
|
||||
return weight;
|
||||
}
|
||||
|
||||
public String getModel() {
|
||||
return model;
|
||||
}
|
||||
public String getInfo() {
|
||||
return "-"+this.getClass()+"info:\n"+
|
||||
this.getModel()+","+this.calculatePrice()+"Euro: \n"+
|
||||
"Category: "+this.chooseCategory()+"\n"+
|
||||
"Weight: "+this.getWeight()+"\n";
|
||||
|
||||
}
|
||||
@Override
|
||||
public int compareTo(Object o) {
|
||||
Furniture otherFurniture = (Furniture)o;
|
||||
return Double.compare(otherFurniture.calculatePrice(), this.calculatePrice());
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
21
FurnitureCompany.java
Normal file
21
FurnitureCompany.java
Normal file
|
@ -0,0 +1,21 @@
|
|||
import java.util.ArrayList;
|
||||
|
||||
public class FurnitureCompany{
|
||||
|
||||
private ArrayList<Furniture> allFurniture = new ArrayList<Furniture>();
|
||||
|
||||
Furniture Bookcase;
|
||||
Furniture Chair;
|
||||
|
||||
public FurnitureCompany(Furniture Bookcase,Furniture Chair) {
|
||||
this.Bookcase=Bookcase;
|
||||
this.Chair=Chair;
|
||||
|
||||
}
|
||||
|
||||
public ArrayList<Furniture> getAllFurnitures() {
|
||||
return this.allFurniture;
|
||||
}
|
||||
|
||||
|
||||
}
|
83
FurnitureFrame.java
Normal file
83
FurnitureFrame.java
Normal file
|
@ -0,0 +1,83 @@
|
|||
import java.awt.event.ActionEvent;
|
||||
import java.awt.event.ActionListener;
|
||||
import java.io.File;
|
||||
import java.io.FileWriter;
|
||||
import java.io.IOException;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
|
||||
import javax.swing.JButton;
|
||||
import javax.swing.JFrame;
|
||||
import javax.swing.JPanel;
|
||||
import javax.swing.JTextField;
|
||||
|
||||
public class FurnitureFrame extends JFrame{
|
||||
|
||||
private JPanel panel = new JPanel();
|
||||
private JButton b1 = new JButton("Search Furniture");
|
||||
private JButton b2 = new JButton("Print Furniture to Text File");
|
||||
private JTextField t1 = new JTextField("Enter model");
|
||||
private JTextField t2 = new JTextField("Enter Category");
|
||||
|
||||
ArrayList<Furniture> allFurniture = new ArrayList<Furniture>();
|
||||
|
||||
public FurnitureFrame(ArrayList<Furniture> furnitures) {
|
||||
|
||||
allFurniture=furnitures;
|
||||
this.setVisible(true);
|
||||
this.setTitle("Furniture Company");
|
||||
this.setSize(300,250);
|
||||
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
|
||||
|
||||
panel.add(t1);
|
||||
panel.add(b1);
|
||||
panel.add(t2);
|
||||
panel.add(b2);
|
||||
|
||||
this.setContentPane(panel);
|
||||
|
||||
Collections.sort(furnitures);
|
||||
|
||||
b1.addActionListener(new ActionListener(){
|
||||
@Override
|
||||
public void actionPerformed(ActionEvent e) {
|
||||
String modelName =t1.getText();
|
||||
for(Furniture furniture: allFurniture) {
|
||||
if(furniture.getModel().equals(modelName)) {
|
||||
furniture.getInfo();
|
||||
}
|
||||
else {
|
||||
System.out.println("There is no furniture of model "+modelName);
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
b2.addActionListener(new ActionListener() {
|
||||
|
||||
@Override
|
||||
public void actionPerformed(ActionEvent e) {
|
||||
|
||||
String textCategory=t2.getText();
|
||||
File f = new File(textCategory+".txt");
|
||||
try {
|
||||
FileWriter write = new FileWriter(f);
|
||||
for(Furniture furniture:furnitures) {
|
||||
if(furniture.chooseCategory().equals(textCategory)) {
|
||||
|
||||
write.write(furniture.getInfo());
|
||||
write.write(System.lineSeparator());
|
||||
}
|
||||
}
|
||||
} catch (IOException e1) {
|
||||
// TODO Auto-generated catch block
|
||||
e1.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
14
Main.java
Normal file
14
Main.java
Normal file
|
@ -0,0 +1,14 @@
|
|||
import java.util.ArrayList;
|
||||
|
||||
public class Main {
|
||||
|
||||
public static void main(String[] args) {
|
||||
|
||||
Furniture b1 = new Bookcase("Ikea",70,3,8);
|
||||
Furniture c1 = new Chair("HermanMiller",40,2,"Grey");
|
||||
FurnitureCompany bestFurniture = new FurnitureCompany(b1,c1);
|
||||
|
||||
new FurnitureFrame(bestFurniture.getAllFurnitures());
|
||||
}
|
||||
|
||||
}
|
Loading…
Reference in a new issue