Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.util.Scanner;
- import java.sql.Connection;
- import java.sql.DriverManager;
- import java.sql.PreparedStatement;
- import java.sql.SQLException;
- class CompStore {
- public static void main(String[] args) {
- Scanner in = new Scanner(System.in);
- System.out.print("Enter cpu model:");
- String cpu = in.next();
- System.out.print("Enter video card model:");
- String videoCard = in.next();
- System.out.print("Enter memory model:");
- String memory = in.next();
- Manager manager = new Manager();
- ComputerBuilder compForSaleBuilder = new CompForSaleBuilder(cpu, videoCard, memory);
- manager.setComputerBuilder(compForSaleBuilder);
- manager.constructComputer();
- Computer compForSale = manager.getComputer();
- Connection con = null;
- try {
- Class.forName("com.mysql.jdbc.Driver");
- con = DriverManager.getConnection("jdbc:mysql://localhost:3306/comp_shop","root", "111");
- PreparedStatement stmt = con.prepareStatement("INSERT INTO orders VALUES (?, ?, ?)");
- stmt.setString(1, cpu);
- stmt.setString(2, videoCard);
- stmt.setString(3, memory);
- stmt.execute();
- }
- catch(Exception e) {
- e.printStackTrace();
- } finally {
- try {
- if (con != null) {
- con.close();
- }
- } catch (SQLException ex) {
- ex.printStackTrace();
- }
- }
- ComputerBuilder compForGamerBuilder = new CompForGamerBuilder();
- manager.setComputerBuilder(compForGamerBuilder);
- manager.constructComputer();
- Computer compForGamer = manager.getComputer();
- ComputerBuilder compForTravelingBuilder = new CompForTravelingBuilder();
- manager.setComputerBuilder(compForTravelingBuilder);
- manager.constructComputer();
- Computer compForTraveling = manager.getComputer();
- System.out.println("------------Info------------");
- System.out.println(compForGamer);
- System.out.println(compForTraveling);
- System.out.println(compForSale);
- }
- }
- class Manager {
- private ComputerBuilder computerBuilder;
- public void setComputerBuilder(ComputerBuilder computerBuilder) {
- this.computerBuilder = computerBuilder;
- }
- public Computer getComputer() {
- return computerBuilder.getComputer();
- }
- public void constructComputer() {
- computerBuilder.createNewComputer();
- computerBuilder.buildCPU();
- computerBuilder.buildVideoCard();
- computerBuilder.buildMemory();
- }
- }
- abstract class ComputerBuilder {
- protected Computer computer;
- public Computer getComputer() {
- return computer;
- }
- public void createNewComputer() {
- computer = new Computer();
- }
- public abstract void buildCPU();
- public abstract void buildVideoCard();
- public abstract void buildMemory();
- }
- class CompForGamerBuilder extends ComputerBuilder {
- public void buildCPU() {
- computer.setCPU("CPUForGamer");
- }
- public void buildVideoCard() {
- computer.setVideoCard("VideoCardForGamer");
- }
- public void buildMemory() {
- computer.setMemory("MemoryForGamer");
- }
- }
- class CompForTravelingBuilder extends ComputerBuilder {
- public void buildCPU() {
- computer.setCPU("CPUForTraveling");
- }
- public void buildVideoCard() {
- computer.setVideoCard("VideoCardForTraveling");
- }
- public void buildMemory() {
- computer.setMemory("MemoryForTraveling");
- }
- }
- class CompForSaleBuilder extends ComputerBuilder {
- private String cpu;
- private String videoCard;
- private String memory;
- CompForSaleBuilder() {}
- CompForSaleBuilder(String cpu, String videoCard, String memory) {
- this.cpu = cpu;
- this.videoCard = videoCard;
- this.memory = memory;
- }
- public void buildCPU() {
- computer.setCPU(cpu);
- }
- public void buildVideoCard() {
- computer.setVideoCard(videoCard);
- }
- public void buildMemory() {
- computer.setMemory(memory);
- }
- }
- class Computer {
- private String cpu;
- private String videoCard;
- private String memory;
- public void setCPU(String cpu) {this.cpu = cpu;}
- public void setVideoCard(String videoCard) {this.videoCard = videoCard;}
- public void setMemory(String memory) {this.memory = memory;}
- @Override
- public String toString() {
- return "Computer[cpu=" + cpu + ", videoCard=" + videoCard + ", memory=" + memory + "]";
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement