需求:
在控制台实现家庭记账本的小功能,功能如下
参考代码如下:
import java.util.Scanner;/*** <p>家庭账本-综合案例</p>** @author 波波老师(weixin : javabobo0513)*/
public class Demo24 {public static void main(String[] args) {int inputNo = 0;//用户输入的编号int count = 0;//用户记账次数int[] szArray = new int[100];//存收入或支出的金额的数组String[] szDescArray = new String[100];//存收入或支出的说明描述int[] zArray = new int[100];//存每次记账完之后的总账户余额boolean[] typeArray = new boolean[100];//存记账类型:支出或收入int sum = 10;//账户初始余额do{System.out.println("-------------------家庭收支记账软件-------------------");System.out.println("1、收支明细");System.out.println("2、登记收入");System.out.println("3、登记支出");System.out.println("4、退出");System.out.println("请选择1-4:");Scanner sc = new Scanner(System.in);inputNo = sc.nextInt();//用户输入的编号switch (inputNo) {case 1:System.out.println("-----------------------------------当前收支明细记录-----------------------------------");System.out.println("收支\t账户金额\t收支金额\t说明");for(int i=0; i<count; i++){System.out.println((typeArray[i] ? "收入" : "支出") + "\t" + zArray[i] + "\t\t" + szArray[i] + "\t\t" + szDescArray[i]);}break;case 2:System.out.println("登记收入:");System.out.print("本次收入金额:");int money = sc.nextInt();//用户输入金额szArray[count] = money;System.out.print("本次收入说明:");szDescArray[count] = sc.next();//用户输入说明typeArray[count] = true;//表示收入sum = sum + money;zArray[count] = sum;//总金额count++;//记账次数+1break;case 3:System.out.println("登记支出:");System.out.print("本次支出金额:");int money2 = sc.nextInt();//用户输入金额szArray[count] = money2;System.out.print("本次支出说明:");szDescArray[count] = sc.next();//用户输入说明typeArray[count] = false;//表示支出sum = sum - money2;zArray[count] = sum;//总金额count++;//记账次数+1break;case 4:System.out.println("谢谢使用,下次再见!");break;default:System.out.println("请输入1-4:");break;}}while(inputNo != 4);}
}