import java.util.Scanner;
public class FamilyAccount {
public static void main(String args[])
{
System.out.print("请输入你的存款:");
Scanner money = new Scanner(System.in);
double balance = money.nextDouble();
boolean isflag = true;
String details = "收支t账户金额t收支金额t 说 明n";
while(isflag)
{
System.out.println("--------账户收支登记表--------");
System.out.println("t1.收支明细");
System.out.println("t2.登记收入");
System.out.println("t3.登记支出");
System.out.println("t4.退出");
System.out.print("请选择(1~4):");
Scanner Choice = new Scanner(System.in);
int Case = Choice.nextInt();
for(;;)
{
if(Case != 1 && Case != 2 && Case != 3 && Case != 4)
{
System.out.println("输入错误,请重新输入:");
Scanner Rechoice = new Scanner(System.in);
Case = Rechoice.nextInt();
}
else
break;
}
//对错误情况的判断以及筛选
switch (Case)
{
case 1: System.out.println("-----------当前收支明细记录-----------");
System.out.println(details);
System.out.println("----------------------------------");
break;
case 2: System.out.print("本次收入金额:");
Scanner number = new Scanner(System.in);
double income = number.nextDouble();
//更新balance的值
balance += income;
System.out.print("说明:");
Scanner text = new Scanner(System.in);
String explain = text.next();
//更新details的值
details += ("收入t" + balance + "t" + income + "t " + explain+"n");
System.out.println("登记成功!n");
break;
case 3: System.out.print("本次支出金额:");
Scanner Out = new Scanner(System.in);
double pay = Out.nextDouble();
//更新balance的值
if(balance >= pay)
{
balance -= pay;
}
else
{
System.out.println("支出大于你的余额,登记失败!");
break;
}
System.out.print("说明:");
Scanner Text = new Scanner(System.in);
String Explain = Text.next();
//更新details的值
details += ("支出t" + balance + "t" + pay + "t " + Explain + "n");
System.out.println("登记成功!n");
break;
case 4: System.out.println("你确定要退出吗?(1/0)");
Scanner scan = new Scanner(System.in);
int isexit = scan.nextInt();
if(isexit == 1)
{
isflag = false;
System.out.println("this is a test");
}
break;
//将isflage的值改为假跳出循环,达到退出程序的目的。
}
}
}
}



