import java.util.Scanner;
// 项目1 《家庭记账软件》
public class OneProject {
public static void main(String[] args) {
String details = "收支\t账户金额\t收支金额\t说 明\n"; //用于记录用户的收入和支出的详情
lable: while(true) {
//初始化金额
int balance = 10000;
while(true) {
System.out.println("------家庭收支记账软件------");
System.out.println(" 1 收支明细 ");
System.out.println(" 2 登记收入 ");
System.out.println(" 3 登记支出 ");
System.out.println(" 4 退 出 ");
System.out.println(" 请选择<1-4> ");
Scanner scan = new Scanner(System.in);
int number = scan.nextInt();
if(number != 1 && number !=2 && number !=3 && number !=4) {
System.out.println("输入错误,请重新输出");
}
//收支明细
if(number == 1) {
System.out.println("---------当前收支明细记录---------");
System.out.println(details);
System.out.println("-------------------------------");
}
//登记收入
if(number == 2) {
System.out.print("本次收入金额:");
int money = scan.nextInt();
System.out.print("本次收入说明:");
String info = scan.next();
//处理details变量 使输入的金额 info加入到details中 使money加入balance
balance += money;
details += ("收入\t" + balance + "\t" + money + "\t\t" + info + "\n");
System.out.println("登记完成\n");
}
//登记支出
if(number == 3) {
System.out.println("本次支出金额:");
int money = scan.nextInt();
System.out.println("本次支出说明:");
String info = scan.next();
//处理details变量 使输入的金额 说明加入到details中 money加入balance
balance -= money;
details += ("支出\t" + balance + "\t" + money + "\t\t" + info + "\n");
System.out.println("登记完成\n");
}
//退出功能
if(number == 4) {
b: while (true){
System.out.println("是否确认退出<Y/N> ");
String c = scan.next();
a: for (; ; ) {
char b = c.charAt(0);
if (b == 'Y') {
break lable;
} else if (b == 'N') {
break b;
} else {
System.out.println("选择错误,请重新输入");
break a;
}
}
}
}
}
}
}
}
本次项目用了循环,scanner使用,if条件判断,break的指定位置结束循环,基本的输出语句。
本代码还有许多可以优化的地方。