java 家庭收支账户
生活随笔
收集整理的這篇文章主要介紹了
java 家庭收支账户
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
代碼1
package lesson.project.p1_familyAccount;import java.util.Scanner;public class FamilyAccount {public static int money = 10000;public static String all = "";public static void main(String[] args) {Scanner scanner = new Scanner(System.in);while (true) {show();String s = scanner.next();switch (s) {case "1":show();System.out.println("收支\t金額\t明細(xì)\t");System.out.println(all);System.out.println("余額:" + money);break;case "2"://收入System.out.println("金額:");String b = scanner.next();System.out.println("明細(xì):");String d = scanner.next();all+="收入"+"\t"+b+"\t"+d+"\t"+"\n";money += Integer.parseInt(b);break;case "3"://支出System.out.println("金額:");String b1 = scanner.next();System.out.println("明細(xì):");String d1 = scanner.next();all+="支出"+"\t"+b1+"\t"+d1+"\t"+"\n";money -= Integer.parseInt(b1);break;case "4":while (true) {System.out.println("是否要退出?(Y\\N)");String choose = scanner.next();if (choose.equals("Y") || choose.equals("y")) {System.exit(0);} else if (choose.equals("N") || choose.equals("n")) {break;} else {System.out.println("輸入不合法!請(qǐng)重新輸入");}}break;default:System.out.println("輸入不合法!請(qǐng)重新輸入");show();break;}}}public static void show() {System.out.println("家庭收支賬戶(hù):");System.out.println("1.查看賬戶(hù)");System.out.println("2.增加收入");System.out.println("3.減少收入");System.out.println("4.退出賬戶(hù)");System.out.println("請(qǐng)選擇功能:");} }代碼2
工具類(lèi)
package lesson.project.p1_familyAccount.version2;import java.util.Scanner;/**Utility工具類(lèi):將不同的功能封裝為方法,就是可以直接通過(guò)調(diào)用方法使用它的功能,而無(wú)需考慮具體的功能實(shí)現(xiàn)細(xì)節(jié)。*/ public class Utility {private static Scanner scanner = new Scanner(System.in);/**用于界面菜單的選擇。該方法讀取鍵盤(pán),如果用戶(hù)鍵入’1’-’4’中的任意字符,則方法返回。返回值為用戶(hù)鍵入字符。*/public static char readMenuSelection() {char c;for (; ; ) {String str = readKeyBoard(1);c = str.charAt(0);if (c != '1' && c != '2' && c != '3' && c != '4') {System.out.print("選擇錯(cuò)誤,請(qǐng)重新輸入:");} else break;}return c;}/**用于收入和支出金額的輸入。該方法從鍵盤(pán)讀取一個(gè)不超過(guò)4位長(zhǎng)度的整數(shù),并將其作為方法的返回值。*/public static int readNumber() {int n;for (; ; ) {String str = readKeyBoard(4);try {n = Integer.parseInt(str);break;} catch (NumberFormatException e) {System.out.print("數(shù)字輸入錯(cuò)誤,請(qǐng)重新輸入:");}}return n;}/**用于收入和支出說(shuō)明的輸入。該方法從鍵盤(pán)讀取一個(gè)不超過(guò)8位長(zhǎng)度的字符串,并將其作為方法的返回值。*/public static String readString() {String str = readKeyBoard(8);return str;}/**用于確認(rèn)選擇的輸入。該方法從鍵盤(pán)讀取‘Y’或’N’,并將其作為方法的返回值。*/public static char readConfirmSelection() {char c;for (; ; ) {String str = readKeyBoard(1).toUpperCase();c = str.charAt(0);if (c == 'Y' || c == 'N') {break;} else {System.out.print("選擇錯(cuò)誤,請(qǐng)重新輸入:");}}return c;}private static String readKeyBoard(int limit) {String line = "";while (scanner.hasNext()) {line = scanner.nextLine();if (line.length() < 1 || line.length() > limit) {System.out.print("輸入長(zhǎng)度(不大于" + limit + ")錯(cuò)誤,請(qǐng)重新輸入:");continue;}break;}return line;} }家庭收支
package lesson.project.p1_familyAccount.version2;public class FamilyAccount {public static void main(String[] args) {String details = "收支\t賬戶(hù)金額\t收支金額\t說(shuō) 明\n";int balance = 10000;boolean loopFlag = true;do {System.out.println("\n-----------------家庭收支記賬軟件-----------------\n");System.out.println(" 1 收支明細(xì)");System.out.println(" 2 登記收入");System.out.println(" 3 登記支出");System.out.println(" 4 退 出\n");System.out.print(" 請(qǐng)選擇(1-4):");char key = Utility.readMenuSelection();System.out.println();switch (key) {case '1':System.out.println("-----------------當(dāng)前收支明細(xì)記錄-----------------");System.out.println(details);System.out.println("--------------------------------------------------");break;case '2':System.out.print("本次收入金額:");int amount1 = Utility.readNumber();System.out.print("本次收入說(shuō)明:");String desc1 = Utility.readString();balance += amount1;details += "收入\t" + balance + "\t\t" +amount1 + "\t\t" + desc1 + "\n";System.out.println("---------------------登記完成---------------------");break;case '3':System.out.print("本次支出金額:");int amount2 = Utility.readNumber();System.out.print("本次支出說(shuō)明:");String desc2 = Utility.readString();balance -= amount2;details += "支出\t" + balance + "\t\t" +amount2 + "\t\t" + desc2 + "\n";System.out.println("---------------------登記完成---------------------");break;case '4':System.out.print("確認(rèn)是否退出(Y/N):");char yn = Utility.readConfirmSelection();if (yn == 'Y') loopFlag = false;break;}} while (loopFlag);} }總結(jié)
以上是生活随笔為你收集整理的java 家庭收支账户的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Mac 重置 idea
- 下一篇: 英语口语-文章朗读Week10 Mond