目录
PS:本软件编写及运行使用的eclipse。
创建一个类,
与方法一区别:未对输入字符长度进行限制;且当收支金额和收支说明都为零时不进行存入明细。
---------------------------------------------------------------------------------------------------------------------------------
? ? ? ? ? ? ? ??
---------------------------------------------------------------------------------------------------------------------------------
import java.util.Scanner;
public class FamilyAccount01 {
public static void main(String[] args) {
// TODO 自动生成的方法存根
Scanner scanner = new Scanner(System.in);
int num=0;
boolean isExitFlag = false;
String details = "";
int sumMoney = 1000;//初始账户金额
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.print(" 请选择(1-4):");
num = scanner.nextInt();
while (num<1||num>4) {
System.out.print(" 输入错误,请输入正确的选项:");
num = scanner.nextInt();
}
int inMoney = 0;//收入金额
String inText = "";//收入说明
int outMoney = 0;//支出金额
String outText = "";//支出说明
switch (num) {
case 1: {
System.out.println("-----------------当前收支明细记录-----------------");
System.out.println("收支\t账户金额\t收支金额\t说 明");
System.out.println(details);
break;
}
case 2:{
System.out.println("2.登记收入");
System.out.print("本次收入金额:");
inMoney = scanner.nextInt();
System.out.print("本次收入说明:");
inText = scanner.next();
sumMoney+=inMoney;
if (inMoney!=0 && inText!=null) {
details += "收入\t"+sumMoney+"\t+"+inMoney+"\t"+inText+"\n";
}
System.out.println("\n---------------------登记完成-------------------\n");
break;
}
case 3:{
System.out.println("3.登记支出");
System.out.print("本次支出金额:");
outMoney = scanner.nextInt();
// System.out.println();
System.out.print("本次支出说明:");
outText = scanner.next();
if (outMoney!=0 && outText!=null) {
if (sumMoney>=outMoney) {
sumMoney-=outMoney;
details += "支出\t"+sumMoney+"\t-"+outMoney+"\t"+outText+"\n";
System.out.println("\n---------------------登记完成-------------------\n");
}else {
System.out.println("余额不足,支出失败!");
}
}
break;
}
case 4:{
System.out.print("确认是否退出(Y/N):");
String notExit = scanner.next();
char isExit = notExit.charAt(0);
while (isExit!='y' && isExit!='n') {
System.out.print("选择错误,请重新输入:");
notExit = scanner.next();
isExit = notExit.charAt(0);
}
if (isExit=='y') {
isExitFlag = true;
}
}
}
} while (!isExitFlag);
System.out.print("\n-----------------成功退出-----------------");
}
}