生活随笔
收集整理的這篇文章主要介紹了
                                
家庭记账软件 —— Java
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.                        
 
                                
                            
                            
                            《家庭記賬軟件》
 
模擬是實(shí)現(xiàn)一個(gè)基于文本界面的《家庭記賬軟件》
 
該程序是全網(wǎng)最全Java零基礎(chǔ)入門(mén)教程的項(xiàng)目一,可以直接查看p127
 
- 掌握逐步的編程技巧和調(diào)試技巧
 - 主要涉及以下知識(shí)點(diǎn): 
- 變量的定義
 - 基本數(shù)據(jù)類型的使用
 - 循環(huán)語(yǔ)句
 - 分支語(yǔ)句
 - 方法聲明、調(diào)用和返回值的接收
 - 簡(jiǎn)單的屏幕輸出格式
 
  
 
話不多說(shuō)直接上代碼
 
源代碼
 
 
import java.util.Scanner;
public class Utility {private static Scanner scanner 
= new Scanner(System.in
);public static char readMenuSelection(){char c
;while (true){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
;}public static int readNumber(){int n
;while (true){String str 
= readKeyBoard(4);try{n 
= Integer.parseInt(str
);break;}catch (NumberFormatException e
){System.out
.print("數(shù)字輸入錯(cuò)誤,請(qǐng)重新輸入: ");}}return n
;}public static String readString(){String str 
= readKeyBoard(8);return str
;}public static char readConfirmSelection(){char c
;while (true){String str 
= readKeyBoard(1).toUpperCase();c
=str
.charAt(0);if (c 
== 'Y' || c
=='N'){break;}else {System.out
.print("選擇輸入錯(cuò)誤,請(qǐng)重新輸入:");}}return c
;}public static String readKeyBoard(int n
){while (true){String str 
= scanner
.next();int len 
= str
.length();if (len 
<= n
){return str
;}else {System.out
.print("輸入錯(cuò)誤,請(qǐng)重新輸入:");}}}} 
 
import javax.sound.midi.Soundbank;
public class FamilyAccount {public static void main(String[] args
) {boolean isFlag 
= true;String userIncomeDetails 
= ""; int initAccount 
= 100000;    String instruction
;         int money
;                  while (isFlag
){System.out
.println("-----------家庭收支記賬軟件-----------\n");System.out
.println("            1.收支明細(xì)   ");System.out
.println("            2.登記收入");System.out
.println("            3.登記支出");System.out
.println("            4.退 出");System.out
.print("             請(qǐng)選擇:");char selection 
= Utility.readMenuSelection();switch (selection
){case '1':System.out
.println("-------------當(dāng)前收支明細(xì)記錄---------");System.out
.println("收支\t賬戶金額\t收支金額\t說(shuō) 明");System.out
.println(userIncomeDetails
);System.out
.println("-----------------------------------");break;case '2':System.out
.print("本次收入金額:");money 
= Utility.readNumber();System.out
.print("本次收入說(shuō)明:");instruction 
= Utility.readString();initAccount 
+= money
;if(money
>=1000)userIncomeDetails 
+= "收入\t" + initAccount 
+ '\t' + money 
+ '\t' + instruction 
+ '\n';elseuserIncomeDetails 
+= "收入\t" + initAccount 
+ '\t' + money 
+ "\t\t" + instruction 
+ '\n';System.out
.println("--------------登記完成---------------");break;case '3':System.out
.print("本次支出金額:");money 
= Utility.readNumber();System.out
.print("本次支出說(shuō)明:");instruction 
= Utility.readString();if(money
>initAccount
){System.out
.println("支出超出支付額度,支付失敗····");}else {initAccount 
-= money
;if(money
>=1000)userIncomeDetails 
+= "支出\t" + initAccount 
+ '\t' + money 
+ '\t' + instruction 
+ '\n';elseuserIncomeDetails 
+= "支出\t" + initAccount 
+ '\t' + money 
+ "\t\t" + instruction 
+ '\n';System.out
.println("--------------登記完成---------------");}break;case '4':System.out
.println("確認(rèn)是否退出(Y/N):");if(Utility.readConfirmSelection() == 'Y') {isFlag 
= false;}break;}}}
}
                            總結(jié)
                            
                                以上是生活随笔為你收集整理的家庭记账软件 —— Java的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
                            
                            
                                如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。