Advertisement
Guest User

Untitled

a guest
Feb 25th, 2018
88
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 8.28 KB | None | 0 0
  1. import java.util.Scanner;
  2. import java.util.ArrayList;
  3.  
  4. public class BankApplication {
  5.  
  6. static Bank b = new Bank();
  7.  
  8. public static void main(String[] args) {
  9. Scanner scan = new Scanner(System.in);
  10.  
  11. while (true) {
  12. drawMenu();
  13. System.out.println("Välj ett alternativ i menyn: ");
  14. try {
  15. switch (scan.nextInt()) {
  16.  
  17. case 0:
  18. drawMenu();
  19.  
  20. break;
  21.  
  22. case 1:
  23. System.out.println("Var god ange id nummer: ");
  24. ArrayList<BankAccount> acclist = b.findAccountsForHolder(scan.nextLong());
  25. if(acclist.size() != 0)
  26. for(BankAccount ba : acclist)
  27. System.out.println(ba);
  28. else
  29. System.out.println("Inga konton funna på detta id-nummer");
  30. break;
  31.  
  32. case 2:
  33. System.out.println("Var god ange del av namn: ");
  34. scan.nextLine();
  35. ArrayList<Customer> c = b.findByPartofName(scan.nextLine());
  36.  
  37. if (c.size() != 0)
  38. for (Customer c1 : c)
  39. System.out.println(c1);
  40. else
  41. System.out.println("Inga kunder funna.");
  42.  
  43. break;
  44. case 3:
  45. depWith(1, scan, b);
  46.  
  47. break;
  48. case 4:
  49. depWith(2, scan, b);
  50.  
  51. break;
  52. case 5:
  53. depWith(3, scan, b);
  54.  
  55. break;
  56. case 6:
  57. // testSix();
  58. System.out.println("Var god skriv namnet här: ");
  59. scan.nextLine();
  60. String holderName = scan.nextLine();
  61. System.out.println("Var god skriv numret här: ");
  62. Long idNr = scan.nextLong();
  63. System.out.println("Konto skapat: " + b.addAccount(holderName, idNr));
  64.  
  65. break;
  66. case 7:
  67. System.out.println("Var vänlig ange nummret för kontot du vill ta bort: ");
  68. if (b.removeAccount(scan.nextInt())) {
  69. System.out.println("Kontot har raderats");
  70. } else {
  71. System.out.println("kontot finns inte");
  72. }
  73.  
  74. break;
  75. case 8:
  76. /* printar ut varje konto i alfabetisk ordning */
  77. if(b.getAllAccounts().size() != 0) {
  78. for (BankAccount account : b.getAllAccounts()) {
  79. System.out.println(account);
  80. }
  81. }
  82. else {
  83. System.out.println("Det finns inga konton på banken för tillfället");
  84. }
  85. break;
  86. default:
  87. System.out.println("Ogiltligt val");
  88. break;
  89.  
  90. case 9:
  91. System.out.println(" ");
  92. System.out.println(" ");
  93. System.out.println(" ");
  94. System.out.println(" ");
  95. System.out.println(" ");
  96. System.out.println(" ");
  97. System.out.println("Programmet har avslutats");
  98. System.exit(0);
  99.  
  100. }
  101. } catch (Exception e) {
  102. System.out.println("Det här gick snett: ");
  103. System.out.println(e.getMessage());
  104. scan.nextLine();
  105. }
  106.  
  107. }
  108. }
  109.  
  110. static void testSix() {
  111. for (int i = 0; i < 3; i++) {
  112. if (i == 0) {
  113. String holderName = "Marcus Ascard";
  114. long idNr = 123123123;
  115. System.out.println(b.addAccount(holderName, idNr));
  116. System.out.println(holderName + idNr);
  117. }
  118. if (i == 1) {
  119. String holderName = "Ludvig Hansson";
  120. long idNr = 234234234;
  121. System.out.println(b.addAccount(holderName, idNr));
  122. System.out.println(holderName + idNr);
  123. }
  124. if (i == 2) {
  125. String holderName = "Ludvig Lifting";
  126. long idNr = 345345345;
  127. System.out.println(b.addAccount(holderName, idNr));
  128. System.out.println(holderName + idNr);
  129.  
  130. }
  131. }
  132.  
  133. }
  134.  
  135. /* kör applikationen */
  136. // void runApplication() {
  137. // try {
  138. // switch (scan.nextInt();) {
  139. //
  140. // case 0:
  141. //
  142. // break;
  143. // case 1:
  144. //
  145. // break;
  146. // case 2:
  147. //
  148. // break;
  149. // case 3:
  150. //
  151. // break;
  152. // case 4:
  153. //
  154. // break;
  155. // case 5:
  156. //
  157. // break;
  158. // case 6:
  159. // String holderName = scan.next();
  160. // Long idNr = scan.nextLong();
  161. // b.addAccount(holderName, idNr);
  162. // break;
  163. // case 7:
  164. //
  165. // break;
  166. // case 8:
  167. // b.getAllAccounts();
  168. // break;
  169. // default:
  170. // System.out.println("Ogiltligt val");
  171. // break;
  172. //
  173. // }
  174. // } catch (Exception e) {
  175. // System.out.println("Fel inmatning");
  176. // scan.nextLine();
  177. // }
  178. //
  179. // }
  180.  
  181. private static void depWith(int setting, Scanner scan, Bank b) {
  182. if (setting == 1) {
  183. System.out.println("Ange önskat kontonummer: ");
  184. if (scan.hasNextInt()) {
  185. int accountNr = scan.nextInt(); // ange kontonummret
  186. BankAccount ba = b.findByNumber(accountNr); // ba sparar det efterfrågade kontot
  187.  
  188. if (ba != null) { // om kontot finns
  189. System.out.println("ange belopp att sätta in på: " + ba.getAccountNumber());
  190. if (scan.hasNextDouble()) {
  191. double amount = scan.nextDouble(); // ange belopp
  192. if (amount > 0) { // kan endast sätta in positiv mängd valuta
  193. ba.deposit(amount);// deposit
  194. System.out.println(ba.toString());// resultat
  195. } else { // ifall användaren försöker sätta in negativa värden
  196. System.out.println("du kan inte sätta in negativa värden");
  197. scan.nextLine();
  198. }
  199.  
  200. }
  201. } else if (ba == null) {// ifall kontot inte finns
  202. System.out.println("kontot finns inte");
  203. }
  204. }
  205. }
  206.  
  207. if (setting == 2) {// Withdraw
  208. System.out.println("Ange önskat kontonummer: ");
  209. if (scan.hasNextInt()) {
  210. int accountNr = scan.nextInt(); // ange kontonummret
  211. BankAccount ba = b.findByNumber(accountNr); // ba sparar det efterfrågade kontot
  212.  
  213. if (ba != null) { // om kontot finns
  214. System.out.println("ange belopp att ta ut från: " + ba.getAccountNumber());
  215. if (scan.hasNextDouble()) {
  216. double amount = scan.nextDouble(); // ange belopp att ta ut
  217. if (amount > ba.getAmount()) {
  218. System.out.println("kontot har inte så mycket pengar");
  219. System.out.println("kontots saldo är: " + ba.getAmount());
  220.  
  221. } else if (amount > 0) { // kan endast ta ut en positiv mängd valuta
  222. ba.withdraw(amount);// ta ut
  223. System.out.println("kontot har nu: " + ba.getAmount());// resultat
  224. } else { // ifall användaren försöker ta ut negativa värden
  225. System.out.println("du kan inte ta ut negativa värden");
  226. scan.nextLine();
  227. }
  228.  
  229. }
  230. } else if (ba == null) {// ifall kontot inte finns
  231. System.out.println("kontot finns inte");
  232. }
  233. }
  234. }
  235.  
  236. if (setting == 3) {
  237. System.out.println("Ange kontonummer för kontot du vill överföra ifrån: ");
  238. if (scan.hasNextInt()) {
  239. int accountNr = scan.nextInt(); // ange kontonummret på från kontot
  240. System.out.println("Ange kontonummer för kontot du vill överföra till: ");
  241. int accountNr2 = scan.nextInt(); // ange kontonummret på till kontot
  242. BankAccount ba = b.findByNumber(accountNr); // ba sparar från kontot
  243. BankAccount ba2 = b.findByNumber(accountNr2); // ba2 sparar till kontot
  244.  
  245. if (ba != null && ba2 != null) { // om båda konton finns
  246. System.out.println("ange belopp att överföra: ");
  247. if (scan.hasNextDouble()) {
  248. double amount = scan.nextDouble(); // ange belopp att ta ut
  249. if (amount > ba.getAmount()) {
  250. System.out.println("Kontot har ej tillräckligt med pengar");
  251. System.out.println("kontots saldo är: " + ba.getAmount());
  252.  
  253. } else if (amount > 0) { // kan endast ta ut en positiv mängd valuta
  254. ba.withdraw(amount);// ta ut
  255. System.out.println(ba.getHolder() + "kontot har nu: " + ba.getAmount());// resultat
  256. ba2.deposit(amount);// sätt in
  257. System.out.println(ba2.getHolder() + "kontot har nu: " + ba2.getAmount());// resultat
  258. } else { // ifall användaren försöker ta ut negativa värden
  259. System.out.println("du kan inte överföra negativa värden");
  260. scan.nextLine();
  261.  
  262. }
  263.  
  264. }
  265. } else if (ba == null) {// ifall kontot inte finns
  266. System.out.println("Första kontot du angav finns inte");
  267. } else if (ba2 == null) {
  268. System.out.println("Andra kontot du angav finns inte");
  269. }
  270.  
  271. }
  272. }
  273.  
  274. }
  275.  
  276. private static void drawMenu() {
  277. System.out.println("-----------------------------------------------------");
  278. System.out.println("1. Hitta konto utifrån innehavare");
  279. System.out.println("2. Sök kontoinnehavare utifrån (del av) namn");
  280. System.out.println("3. Sätt in pengar");
  281. System.out.println("4. Ta ut pengar");
  282. System.out.println("5. Överföring");
  283. System.out.println("6. Skapa konto");
  284. System.out.println("7. Ta bort konto");
  285. System.out.println("8. Skriv ut konton");
  286. System.out.println("9. Avsluta");
  287. }
  288.  
  289. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement