Advertisement
Guest User

Untitled

a guest
Feb 19th, 2017
94
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.07 KB | None | 0 0
  1. import java.util.Scanner;
  2. import java.sql.Connection;
  3. import java.sql.DriverManager;
  4. import java.sql.PreparedStatement;
  5. import java.sql.SQLException;
  6.  
  7. class CompStore {
  8.  
  9. public static void main(String[] args) {
  10.  
  11. Scanner in = new Scanner(System.in);
  12.  
  13. System.out.print("Enter cpu model:");
  14. String cpu = in.next();
  15.  
  16. System.out.print("Enter video card model:");
  17. String videoCard = in.next();
  18.  
  19. System.out.print("Enter memory model:");
  20. String memory = in.next();
  21.  
  22. Manager manager = new Manager();
  23.  
  24. ComputerBuilder compForSaleBuilder = new CompForSaleBuilder(cpu, videoCard, memory);
  25. manager.setComputerBuilder(compForSaleBuilder);
  26. manager.constructComputer();
  27.  
  28. Computer compForSale = manager.getComputer();
  29.  
  30. Connection con = null;
  31.  
  32. try {
  33. Class.forName("com.mysql.jdbc.Driver");
  34. con = DriverManager.getConnection("jdbc:mysql://localhost:3306/comp_shop","root", "111");
  35.  
  36. PreparedStatement stmt = con.prepareStatement("INSERT INTO orders VALUES (?, ?, ?)");
  37. stmt.setString(1, cpu);
  38. stmt.setString(2, videoCard);
  39. stmt.setString(3, memory);
  40. stmt.execute();
  41. }
  42. catch(Exception e) {
  43. e.printStackTrace();
  44. } finally {
  45. try {
  46. if (con != null) {
  47. con.close();
  48. }
  49. } catch (SQLException ex) {
  50. ex.printStackTrace();
  51. }
  52. }
  53.  
  54. ComputerBuilder compForGamerBuilder = new CompForGamerBuilder();
  55. manager.setComputerBuilder(compForGamerBuilder);
  56. manager.constructComputer();
  57.  
  58. Computer compForGamer = manager.getComputer();
  59.  
  60. ComputerBuilder compForTravelingBuilder = new CompForTravelingBuilder();
  61. manager.setComputerBuilder(compForTravelingBuilder);
  62. manager.constructComputer();
  63.  
  64. Computer compForTraveling = manager.getComputer();
  65.  
  66. System.out.println("------------Info------------");
  67.  
  68. System.out.println(compForGamer);
  69. System.out.println(compForTraveling);
  70. System.out.println(compForSale);
  71. }
  72. }
  73.  
  74. class Manager {
  75. private ComputerBuilder computerBuilder;
  76.  
  77. public void setComputerBuilder(ComputerBuilder computerBuilder) {
  78. this.computerBuilder = computerBuilder;
  79. }
  80.  
  81. public Computer getComputer() {
  82. return computerBuilder.getComputer();
  83. }
  84.  
  85. public void constructComputer() {
  86. computerBuilder.createNewComputer();
  87. computerBuilder.buildCPU();
  88. computerBuilder.buildVideoCard();
  89. computerBuilder.buildMemory();
  90. }
  91. }
  92.  
  93. abstract class ComputerBuilder {
  94. protected Computer computer;
  95.  
  96. public Computer getComputer() {
  97. return computer;
  98. }
  99.  
  100. public void createNewComputer() {
  101. computer = new Computer();
  102. }
  103.  
  104. public abstract void buildCPU();
  105. public abstract void buildVideoCard();
  106. public abstract void buildMemory();
  107. }
  108.  
  109. class CompForGamerBuilder extends ComputerBuilder {
  110.  
  111. public void buildCPU() {
  112. computer.setCPU("CPUForGamer");
  113. }
  114.  
  115. public void buildVideoCard() {
  116. computer.setVideoCard("VideoCardForGamer");
  117. }
  118.  
  119. public void buildMemory() {
  120. computer.setMemory("MemoryForGamer");
  121. }
  122. }
  123.  
  124. class CompForTravelingBuilder extends ComputerBuilder {
  125.  
  126. public void buildCPU() {
  127. computer.setCPU("CPUForTraveling");
  128. }
  129.  
  130. public void buildVideoCard() {
  131. computer.setVideoCard("VideoCardForTraveling");
  132. }
  133.  
  134. public void buildMemory() {
  135. computer.setMemory("MemoryForTraveling");
  136. }
  137. }
  138.  
  139. class CompForSaleBuilder extends ComputerBuilder {
  140. private String cpu;
  141. private String videoCard;
  142. private String memory;
  143.  
  144. CompForSaleBuilder() {}
  145.  
  146. CompForSaleBuilder(String cpu, String videoCard, String memory) {
  147. this.cpu = cpu;
  148. this.videoCard = videoCard;
  149. this.memory = memory;
  150. }
  151.  
  152. public void buildCPU() {
  153. computer.setCPU(cpu);
  154. }
  155.  
  156. public void buildVideoCard() {
  157. computer.setVideoCard(videoCard);
  158. }
  159.  
  160. public void buildMemory() {
  161. computer.setMemory(memory);
  162. }
  163. }
  164.  
  165. class Computer {
  166. private String cpu;
  167. private String videoCard;
  168. private String memory;
  169.  
  170. public void setCPU(String cpu) {this.cpu = cpu;}
  171. public void setVideoCard(String videoCard) {this.videoCard = videoCard;}
  172. public void setMemory(String memory) {this.memory = memory;}
  173.  
  174. @Override
  175. public String toString() {
  176. return "Computer[cpu=" + cpu + ", videoCard=" + videoCard + ", memory=" + memory + "]";
  177. }
  178. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement