小白学没多久写出来的,写得不是很好,请大家多多指教。
代码示例:
package test;
import java.util.Scanner;
public class AccountingSoftware {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int moneySum = 0;//存储现金总数
int in_money = 0;//一个存储收入总金额
int out_money = 0;//一个存储支出总金额
String inInfo = "";//记录收入的信息
String outInfo = "";//记录支出的信息
System.out.println("欢迎使用家庭收支记账软件!");
//给do-while循环起一个名字方便等下跳出循环
temp: do {
System.out.println("-----------------------"+"家庭收支记账软件"+"-----------------------");
System.out.println(" "+"1 收支明细"+" ");
System.out.println(" "+"2 登记收入"+" ");
System.out.println(" "+"3 登记支出"+" ");
System.out.println(" "+"4 退 出"+" ");
System.out.println();
System.out.println("请选择您需要的模块,输入对应的数字进入(1-4):");
int key = scanner.nextInt();
switch (key){
case 1:
System.out.println("收支明细如下:");
if (in_money == 0 && moneySum == 0) {
System.out.println("没有收支进账");
}
if (in_money != 0) {//是为了一开始进入程序选择1,初始化收支明细
System.out.println("收入总额:\t"+in_money+ "元");
System.out.println(inInfo);
System.out.println("-------------------------------------------------------------");
}
if (out_money != 0){
System.out.println("支出总额:\t"+out_money+ "元");
System.out.println(outInfo);
System.out.println("-------------------------------------------------------------");
}
System.out.println("账户金额:" + moneySum + "元");
break;
case 2:
System.out.print("请登记收入的金额:");
int incomeMoney = scanner.nextInt();
System.out.print("本次收入说明:");
String in_info = scanner.next();
inInfo += "收入:"+incomeMoney+"元"+"\t"+"说明:"+in_info+" ";
moneySum += incomeMoney;//记录账户总额
in_money += incomeMoney;//记录收入总额
break;
case 3:
System.out.print("请登记支出的金额:");
int outMoney = scanner.nextInt();
System.out.print("本次支出说明:");
String out_info = scanner.next();
outInfo += "支出:"+outMoney+"元"+"\t"+"说明:"+out_info+" ";
moneySum -= outMoney;
out_money += outMoney;
break;
case 4:
break temp;//是前面定义了一个temp的循环体,以至于case为4的时候可以退出程序
}
}while(true);//这里循环条件是true无限循环,使得程序可以一直登记收入或者支出除了选择退出
System.out.println("多谢您的使用!");
}
}
效果图如下: