运行效果如下:
代码如下:
public class test7FamilyAccount{
public static void main(String[]args){
java.util.Scanner input = new java.util.Scanner(System.in);
boolean flag=true;
int balance=10000;//基本金
String detail="收支 账户金额 收支金额 说 明
";
while(flag){
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 select =input.nextInt();//接收用户的选择
//判断用户的选择
switch(select){
case 1:
System.out.println(detail);
break;
case 2:
System.out.println("本次收入金额");
int money=input.nextInt();//接收用户收入多少金额
System.out.println("本次收入说明:");
String info=input.next();
balance+=money;
detail+="收入 "+money+" "+balance+" "+info+"
";
break;
case 3:
System.out.println("本次支出金额");
money=input.nextInt();//接收用户支出多少金额
System.out.println("本次支出说明:");
info=input.next();
balance+=money;
detail+="支出 "+money+" "+balance+" "+info+"
";
break;
case 4:
System.out.println("确认是否退出");
char confirm=input.next().charAt(0);//因为输入单个char太少用了,Scanner中没有提供输入单个char的方法,那么我们只能变通,先按字符串接收,然后取第一个字符
if(confirm=='Y'||confirm=='y'){
flag=false;
}
break;
default:
System.out.println("输入有误");
}
}
}
}