Advertisement
Guest User

Untitled

a guest
Apr 17th, 2014
155
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 20.31 KB | None | 0 0
  1. import java.awt.Font;
  2. import java.awt.Graphics;
  3. import java.awt.Graphics2D;
  4. import java.awt.RenderingHints;
  5. import java.awt.image.BufferedImage;
  6. import java.util.ArrayList;
  7.  
  8. public class GaaClub {
  9. private ArrayList<Member> members;
  10. private ArrayList<Competition> raffles;
  11.  
  12. public GaaClub() {
  13. members = new ArrayList<Member>();
  14. raffles = new ArrayList<Competition>();
  15.  
  16. BufferedImage image = new BufferedImage(144, 32,
  17. BufferedImage.TYPE_INT_RGB);
  18. Graphics g = image.getGraphics();
  19. g.setFont(new Font("Calligraphic", Font.PLAIN, 18));
  20. Graphics2D graphics = (Graphics2D) g;
  21. graphics.setRenderingHint(RenderingHints.KEY_TEXT_ANTIALIASING,
  22. RenderingHints.VALUE_TEXT_ANTIALIAS_ON);
  23. graphics.drawString("G A A ", 6, 24);
  24. // ImageIO.write(image, "png", new File("text.png"));
  25.  
  26. for (int y = 0; y < 32; y++) {
  27. StringBuilder sb = new StringBuilder();
  28. for (int x = 0; x < 144; x++)
  29. sb.append(image.getRGB(x, y) == -16777216 ? " " : image.getRGB(
  30. x, y) == -1 ? "$" : "#");
  31. if (sb.toString().trim().isEmpty())
  32. continue;
  33. System.out.println(" " + sb);
  34. }
  35. System.out
  36. .println("===========================================================================================");
  37.  
  38. }
  39.  
  40. public void addStandaredMember(Member mem) {
  41. StdOut.println("Please enter the members's name: ");
  42. System.out
  43. .println("-------------------------------------------------------------------------------------------");
  44. StdIn.readLine();
  45. String name = StdIn.readLine();
  46. StdOut.println("Please enter the members address: ");
  47. System.out
  48. .println("-------------------------------------------------------------------------------------------");
  49. String address = StdIn.readLine();
  50. StdOut.println("Please enter the members DOB: ");
  51. System.out
  52. .println("-------------------------------------------------------------------------------------------");
  53. String dob = StdIn.readLine();
  54. StdOut.println("Please enter the amount to Pay: ");
  55. System.out
  56. .println("-------------------------------------------------------------------------------------------");
  57. double mempaid = StdIn.readDouble();
  58. StandardMember member = new StandardMember(name, address, dob, mempaid);
  59. if (mempaid > 200) {
  60. StdOut.print("You have overpaid, your change is ");
  61. StdOut.println(mempaid -= 200);
  62. System.out
  63. .println("-------------------------------------------------------------------------------------------");
  64. }
  65. members.add(member);
  66. }
  67.  
  68. public void addStandaredPlayer(Member mem) {
  69. StdOut.println("Please enter the standard Player's name: ");
  70. System.out
  71. .println("-------------------------------------------------------------------------------------------");
  72. StdIn.readLine();
  73. String name = StdIn.readLine();
  74. StdOut.println("Please enter the standard Player's address: ");
  75. System.out
  76. .println("-------------------------------------------------------------------------------------------");
  77. String address = StdIn.readLine();
  78. StdOut.println("Please enter the standard Player's DOB: ");
  79. System.out
  80. .println("-------------------------------------------------------------------------------------------");
  81. String dob = StdIn.readLine();
  82. StdOut.println("Please enter the amount to Pay: ");
  83. System.out
  84. .println("-------------------------------------------------------------------------------------------");
  85. double mempaid = StdIn.readDouble();
  86. StandardPlayer member = new StandardPlayer(name, address, dob, mempaid);
  87. if (mempaid > 20) {
  88. StdOut.print("You have overpaid, your change is ");
  89. StdOut.println(mempaid -= 20);
  90. System.out
  91. .println("-------------------------------------------------------------------------------------------");
  92.  
  93. }
  94. members.add(member);
  95.  
  96. }
  97.  
  98. public void addElitePlayer(Member mem) {
  99. StdOut.println("Please enter the Elite members's name: ");
  100. System.out
  101. .println("-------------------------------------------------------------------------------------------");
  102. StdIn.readLine();
  103. String name = StdIn.readLine();
  104. StdOut.println("Please enter the Elite members's address: ");
  105. System.out
  106. .println("-------------------------------------------------------------------------------------------");
  107. String address = StdIn.readLine();
  108. StdOut.println("Please enter the Elite members's DOB: ");
  109. System.out
  110. .println("-------------------------------------------------------------------------------------------");
  111. String dob = StdIn.readLine();
  112. StdOut.println("Please enter the the amount to Pay: ");
  113. System.out
  114. .println("-------------------------------------------------------------------------------------------");
  115. double mempaid = StdIn.readDouble();
  116. StdOut.println("Please enter the Elite members's BMI: ");
  117. System.out
  118. .println("-------------------------------------------------------------------------------------------");
  119. double bmi = StdIn.readDouble();
  120. StdOut.println("Please enter the Elite members's height: ");
  121. System.out
  122. .println("-------------------------------------------------------------------------------------------");
  123. double height = StdIn.readDouble();
  124. ElitePlayer member = new ElitePlayer(name, address, dob, mempaid, bmi,
  125. height);
  126. if (mempaid > 10) {
  127. StdOut.print("You have overpaid, your change is ");
  128. StdOut.println(mempaid -= 10);
  129. System.out
  130. .println("-------------------------------------------------------------------------------------------");
  131. }
  132. members.add(member);
  133. }
  134.  
  135. public static void main(String[] args) {
  136. GaaClub app = new GaaClub();
  137. app.run();
  138. }
  139.  
  140. public void memberType() {
  141. StdOut.println("Enter Type of membership: ");
  142. System.out
  143. .println("-------------------------------------------------------------------------------------------");
  144. StdOut.println("1) Add a Standard Member");
  145. System.out
  146. .println("-------------------------------------------------------------------------------------------");
  147. StdOut.println("2) Add an Elite Player");
  148. System.out
  149. .println("-------------------------------------------------------------------------------------------");
  150. StdOut.println("3) Add a Standard Player");
  151. System.out
  152. .println("-------------------------------------------------------------------------------------------");
  153. String memberchoice = StdIn.readString();
  154. if (memberchoice.equals("1"))
  155. addStandaredMember(null);
  156. if (memberchoice.equals("2"))
  157. addElitePlayer(null);
  158. if (memberchoice.equals("3"))
  159. addStandaredPlayer(null);
  160.  
  161. }
  162.  
  163. public void listNames() {
  164. String name = null;
  165. for (int i = 0; i < members.size(); i++) {
  166. Member member = members.get(i);
  167. name = member.getName();
  168. StdOut.println(i + ":" + member.getName());
  169. }
  170. }
  171.  
  172. public void removeName() {
  173. Member deleteMember = null;
  174. String name = null;
  175. String matchName = null;
  176. StdOut.println("Enter name to remove");
  177. System.out
  178. .println("-------------------------------------------------------------------------------------------");
  179. String removeName = StdIn.readString();
  180. for (int i = 0; i < members.size(); i++) {
  181. Member member = members.get(i);
  182. name = member.getName();
  183. if (member.getName().contains(removeName)) {
  184. deleteMember = members.get(i);
  185. StdOut.println(member.getName() + " Was Deleted");
  186. System.out
  187. .println("-------------------------------------------------------------------------------------------");
  188. matchName = member.getName();
  189. members.remove(deleteMember);
  190. }
  191. }
  192.  
  193. if (name != matchName) {
  194. StdOut.println("Name not found in our Data Base!!");
  195. System.out
  196. .println("-------------------------------------------------------------------------------------------");
  197.  
  198. }
  199. }
  200.  
  201. public void totalMemberShipCollected() {
  202. double sum = 0.0;
  203. for (Member member : members) {
  204. sum += member.getMempaid();
  205.  
  206. }
  207. StdOut.println("Total amount Paid so far = " + sum);
  208. System.out
  209. .println("-------------------------------------------------------------------------------------------");
  210. }
  211.  
  212. public void totalAmountOwed() {
  213. double sum = 0.0;
  214. for (Member member : members) {
  215. sum += member.calculateMembershipFeeOwed() - member.getMempaid();
  216.  
  217. }
  218. StdOut.println("Total amount Owed = " + sum);
  219. System.out
  220. .println("-------------------------------------------------------------------------------------------");
  221.  
  222. }
  223.  
  224. public void membersOwingMembership() {
  225. for (Member member : members) {
  226. if (member.calculateMembershipFeeOwed() != member.mempaid) {
  227. StdOut.println(member.calculateMembershipFeeOwed()
  228. - member.getMempaid() + " Still left to pay by "
  229. + member.getName());
  230. System.out
  231. .println("-------------------------------------------------------------------------------------------");
  232. }
  233. }
  234. }
  235.  
  236. public void targetMembership() {
  237. double sum = 0.0;
  238. for (Member member : members) {
  239. if (member.calculateMembershipFeeOwed() == member.mempaid) {
  240. sum += member.getMempaid();
  241. }
  242. }
  243. StdOut.println("Full Membership paid for the year so far = " + sum);
  244. System.out
  245. .println("-------------------------------------------------------------------------------------------");
  246. }
  247.  
  248. public double search() {
  249. System.out.println("Please enter a name to look for");
  250. System.out
  251. .println("-------------------------------------------------------------------------------------------");
  252. StdIn.readLine();
  253. String input = StdIn.readLine();
  254. for (Member member : members) {
  255. if (member.name.equalsIgnoreCase(input)) {
  256. System.out.println(member.name + " Is at position "
  257. + members.indexOf(member) + " in the list");
  258. System.out
  259. .println("-------------------------------------------------------------------------------------------");
  260. }
  261. }
  262.  
  263. return -1;
  264. }
  265.  
  266. public void editMember() {
  267. listNames();
  268. StdOut.println("PLease enter the number of the member you wish to edit ==>");
  269. int index = StdIn.readInt();
  270. // if (index > 0 && index < members.size()) {
  271. Member member = members.get(index);
  272. if (StandardMember.class.isInstance(members.get(index))) {
  273. StdOut.println("That number refers to a Standard Member: ");
  274. StdOut.println(">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>");
  275. StdOut.println("Please Enter a new Standard members name: ");
  276. String name = StdIn.readString();
  277. StdIn.readLine();
  278. member.setName(name);
  279. StdOut.println("Enter members address: ");
  280. String address = StdIn.readString();
  281. StdIn.readLine();
  282. member.setAddress(address);
  283. StdOut.println("Your current balence is " + member.mempaid);
  284. StdOut.print("You Still have ");
  285. StdOut.println(member.calculateMembershipFeeOwed()
  286. - member.getMempaid()
  287. + " left to pay, Enter the outstanding balance: ");
  288. double mempaid = StdIn.readDouble() + member.mempaid;
  289. member.payMembership(mempaid);
  290. } else {
  291. if (ElitePlayer.class.isInstance(members.get(index)))
  292. StdOut.println("Enter new BMI: ");
  293. double bmi = StdIn.readDouble();
  294. StdIn.readLine();
  295. member.setBmi(bmi);
  296. StdOut.println("Enter new height: ");
  297. double height = StdIn.readDouble();
  298. StdIn.readLine();
  299. member.setHeight(height);
  300. StdOut.println(member.toString());
  301. }
  302.  
  303. }
  304.  
  305. private int mainMenu() {
  306. StdOut.println("1) Add a Member");
  307. System.out
  308. .println(".......................................................................................");
  309. StdOut.println("2) Remove a Member");
  310. System.out
  311. .println(".......................................................................................");
  312. StdOut.println("3) List Names");
  313. System.out
  314. .println(".......................................................................................");
  315. StdOut.println("4) Membership collected");
  316. System.out
  317. .println(".......................................................................................");
  318. StdOut.println("5) Total amount owed by all members");
  319. System.out
  320. .println(".......................................................................................");
  321. StdOut.println("6) Who owe's what");
  322. System.out
  323. .println(".......................................................................................");
  324. StdOut.println("7) Full Memberships Paid, if Paid in Full");
  325. System.out
  326. .println(".......................................................................................");
  327. StdOut.println("8) Get members position in the list");
  328. System.out
  329. .println(".......................................................................................");
  330. StdOut.println("9) Edit Members");
  331. System.out
  332. .println(".......................................................................................");
  333. StdOut.println("0) Exit");
  334. System.out
  335. .println(".......................................................................................");
  336. StdOut.print("==>>");
  337. int option = StdIn.readInt();
  338. return option;
  339. }
  340.  
  341. public void run() {
  342. {
  343. int option = mainMenu();
  344. while (option != 0) {
  345.  
  346. switch (option) {
  347. case 1:
  348. memberType();
  349. break;
  350. case 2:
  351. removeName();
  352. break;
  353. case 3:
  354. listNames();
  355. break;
  356. case 4:
  357. totalMemberShipCollected();
  358. break;
  359. case 5:
  360. totalAmountOwed();
  361. break;
  362. case 6:
  363. membersOwingMembership();
  364. break;
  365. case 7:
  366. targetMembership();
  367. break;
  368. case 8:
  369. search();
  370. break;
  371. case 9:
  372. editMember();
  373. break;
  374.  
  375. }
  376.  
  377. option = mainMenu();
  378. }
  379. StdOut.println("Exiting... bye");
  380. }
  381. }
  382.  
  383. }
  384.  
  385.  
  386. public class Member {
  387.  
  388. protected String name; // username of the post's author
  389. protected String address;
  390. protected String dob;
  391. protected double mempaid;
  392.  
  393. public Member(String name, String address, String dob, double mempaid) {
  394. this.name = name;
  395. this.address = address;
  396. this.dob = dob;
  397. this.mempaid = mempaid;
  398. }
  399.  
  400. public String getName() {
  401. return name;
  402. }
  403.  
  404. public void setName(String name) {
  405. this.name = name;
  406. }
  407.  
  408. public String getAddress() {
  409. return address;
  410. }
  411.  
  412. public void setAddress(String address) {
  413. this.address = address;
  414. }
  415.  
  416. public String getDob() {
  417. return dob;
  418. }
  419.  
  420. public void setDob(String dob) {
  421. this.dob = dob;
  422. }
  423.  
  424. void payMembership(double mempaid) {
  425. this.mempaid = mempaid;
  426. }
  427.  
  428. public double getMempaid() {
  429. return mempaid;
  430. }
  431.  
  432. double calculateMembershipFeeOwed() {
  433.  
  434. double owed = 0.0;
  435. return owed;
  436. }
  437.  
  438. public void setMempaid(double mempaid) {
  439. this.mempaid = 0.0;
  440.  
  441. }
  442.  
  443. @Override
  444. public String toString() {
  445. return "Member [name=" + name + ", address=" + address + ", dob=" + dob
  446. + ", mempaid=" + mempaid + "" + "]";
  447. }
  448.  
  449. public void setHeight(double height) {
  450.  
  451. }
  452.  
  453. public void setBmi(double bmi) {
  454.  
  455. }
  456.  
  457. }
  458.  
  459.  
  460. import java.util.ArrayList;
  461.  
  462. public class ElitePlayer extends Member {
  463. protected double bmi;
  464. protected double height;
  465.  
  466.  
  467. public ElitePlayer(String name, String address, String dob, double mempaid,
  468. double bmi, double height) {
  469. super(name, address, dob, mempaid);
  470. this.bmi = bmi;
  471. this.height = height;
  472. }
  473.  
  474. public double getBmi() {
  475. return bmi;
  476. }
  477.  
  478. public void setBmi(double bmi) {
  479. this.bmi = bmi;
  480. }
  481.  
  482. public double getHeight() {
  483. return height;
  484. }
  485.  
  486. public void setHeight(double height) {
  487. this.height = height;
  488. }
  489.  
  490. public double getMempaid() {
  491.  
  492. if (this.mempaid > 10)
  493. this.mempaid = 10;
  494. return mempaid;
  495. }
  496.  
  497. double calculateMembershipFeeOwed() {
  498. double owed = 10;
  499. return owed;
  500. }
  501.  
  502. void
  503. addCompetiton(Competition c){
  504.  
  505. }
  506.  
  507. @Override
  508. public String toString() {
  509. return "ElitePlayer [bmi=" + bmi + ", height=" + height
  510. + ", competition=" + ", name=" + name
  511. + ", address=" + address + ", dob=" + dob + ", mempaid="
  512. + mempaid + "]";
  513. }
  514.  
  515. }
  516.  
  517.  
  518. import java.util.ArrayList;
  519.  
  520. public class StandardPlayer extends Member {
  521.  
  522. public StandardPlayer(String name, String address, String dob,
  523. double mempaid) {
  524. super(name, address, dob, mempaid);
  525.  
  526. }
  527.  
  528. public double getMempaid() {
  529.  
  530. if (this.mempaid > 20)
  531. this.mempaid = 20;
  532. return mempaid;
  533. }
  534.  
  535. double calculateMembershipFeeOwed() {
  536. double owed = 20;
  537. return owed;
  538. }
  539.  
  540. @Override
  541. public String toString() {
  542. return "StandardPlayer [competition=" + ", name=" + name + ", address="
  543. + address + ", dob=" + dob + ", mempaid=" + mempaid + "]";
  544. }
  545.  
  546. }
  547.  
  548.  
  549. public class StandardMember extends Member {
  550.  
  551. public StandardMember(String name, String address, String dob,
  552. double mempaid) {
  553. super(name, address, dob, mempaid);
  554. }
  555.  
  556. public double getMempaid() {
  557. if (this.mempaid > 200)
  558. this.mempaid = 200;
  559. return mempaid;
  560. }
  561.  
  562. double calculateMembershipFeeOwed() {
  563. double owed = 200;
  564. return owed;
  565.  
  566. }
  567.  
  568. @Override
  569. public String toString() {
  570. return "StandardMember [name=" + name + ", address=" + address
  571. + ", dob=" + dob + ", mempaid=" + mempaid + "]";
  572. }
  573. }
  574.  
  575.  
  576.  
  577. public class Competition extends Member {
  578. protected String competitionName;
  579.  
  580. public Competition(String name, String address, String dob, double mempaid,
  581. String raffle) {
  582. super(name, address, dob, mempaid);
  583. this.competitionName = raffle;
  584. }
  585.  
  586. public String getCompetitionName() {
  587. return competitionName;
  588. }
  589.  
  590. public void setCompetitionName(String competitionName) {
  591. this.competitionName = competitionName;
  592. }
  593.  
  594. @Override
  595. public String toString() {
  596. return "Competition [competitionName=" + competitionName + "]";
  597. }
  598. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement