Utility工具类:
将不同的功能封装为方法,就是可以直接通过调用方法使用它的功能,而无需考虑具体的功能实现细节。
这里就要运用到前面所学的知识,二维数组、String引用字符、Scanner的使用、for循环循环等。
首先程序的需求说明:
1.假设家庭起始的家庭保障金为10000元。
2.每次登记收入后,收入的金额累加到家庭保障金中,并记录在明细表中。
3.每次登记支出后,支出的金额累减到家庭保障金中,并记录在明细表中。
4.查看所有明细时,将显出所有的收入和支出在明细表中。
实现:
1.运用二维数组,定义生活保障金,
arr[0][0] = "收入"; arr[0][1] = "10000"; arr[0][2] = "10000"; arr[0][3] = "家庭保障金";
2.运用switch语句,记录收支,并记录在明细表中。
请选择(1-4):2
请输入本次收入的金额:
1000
请输入本次收入的说明:
股票
添加成功!
请选择(1-4):3
请输入本次支出的金额:
1000
请输入本次支出的说明:
买衣服
添加成功!3.收支明细
-------------------收支明细记录表-----------------------
收支 账户总金额 收支金额 说 明收入 10000 10000 家庭保障金
收入 11000 1000 股票
支出 10000 1000 买衣服
-----------------------------------------------------------------
具体代码如下:
package project_finally.Utility;
import java.util.Scanner;
public class FamilyAccount {
static String[][] arr = new String[10][4];
static int count = 1;
static int sumNum = 10000;
public static void main(String[] args) {
arr[0][0] = "收入";
arr[0][1] = "10000";
arr[0][2] = "10000";
arr[0][3] = "家庭保障金";
while (true) {
System.out.println("-------------------家庭收支记账软件---------------------n");
System.out.println(" 1.收支明细");
System.out.println(" 2.登记收入");
System.out.println(" 3.登记支出");
System.out.println(" 4.退 出n");
System.out.print("请选择(1-4):");
char c = Utility.readMenuSelection();
switch (c) {
case '1':
System.out.println("-------------------收支明细记录表-----------------------");
System.out.println("收支tt账户总金额tt收支金额ttt说 明n");
for (int j = 0; j < arr.length; j++) {
if (arr[j][0] != null) {
System.out.println(arr[j][0] + "tt" + arr[j][1] + "ttt" + arr[j][2] + "ttt" + arr[j][3]);
}
}
System.out.println("--------------------------------------------------------n");
break;
case '2':
Scanner sc = new Scanner(System.in);
System.out.println("请输入本次收入的金额:");
int num = Utility.readNumber();
System.out.println("请输入本次收入的说明:");
String info = Utility.readString();
arr[count][0] = "收入";
sumNum += num;
arr[count][1] = sumNum + "";
arr[count][2] = num + "";
arr[count][3] = info;
count++;
System.out.println("添加成功!");
break;
case '3':
System.out.println("请输入本次支出的金额:");
int num1 = Utility.readNumber();
System.out.println("请输入本次支出的说明:");
String info1 = Utility.readString();
arr[count][0] = "支出";
sumNum -= num1;
arr[count][1] = sumNum + "";
arr[count][2] = num1 + "";
arr[count][3] = info1;
count++;
System.out.println("添加成功!");
break;
case '4':
System.out.println("确认是否退出(Y/N)?:");
char c1 = Utility.readConfirmSelection();
if (c1 == 'Y') {
System.out.println("拜拜!退出成功!");
return;
} else {
break;
}
}
}
}
}



