项目一
家庭记账软件
目 标
• 模拟实现一个基于文本界面的《家庭记账软件》
• 掌握初步的编程技巧和调试技巧
• 主要涉及以下知识点:
变量的定义
基本数据类型的使用
循环语句
分支语句
方法声明、调用和返回值的接收
简单的屏幕输出格式控制
需求说明
• 模拟实现基于文本界面的《家庭记账软件》 。
• 该软件能够记录家庭的收入、支出,并能够打印收支明细表。
• 项目采用分级菜单方式。主菜单如下:
-----------------家庭收支记账软件-----------------
1 收支明细
2 登记收入
3 登记支出
4 退 出
请选择(1-4):
import java.util.Scanner;
public class project {
public static void main(String[] args) {
Scanner input=new Scanner(System.in);
boolean flag=true;
boolean flag1=true;
boolean flag2=true;
int money=10000;
while(flag) {
System.out.println("-----------------家庭收支记账软件-----------------");
System.out.println(“1.收支明细”);
System.out.println(“2.登记收入”);
System.out.println(“3.登记支出”);
System.out.println(“4.退出”);
System.out.println(“请选择(1-4):”);
int movemont=input.nextInt();
String b=" “;
switch (movemont) {
case 1:
System.out.println(“收支 账户金额 收支金额 说明”);
System.out.println(b);
System.out.print(“是否退出: 1为退出,2为继续”);
int a1=input.nextInt();
if(a11) {
flag=false;
}
break;
case 2:
while(flag1) {
System.out.println(“请登记你的收入:”);
int s=input.nextInt();
money+=s;
System.out.println(“请说明原因:”);
String explain=input.next();
b=“收入”+money+" "+s +“explain\n”;
System.out.print(“是否退出收入登记: 1为退出,2为继续”);
int a2=input.nextInt();
if(a21) {
flag1=false;
}
}
break;
case 3:
while(flag2) {
System.out.println(“请登记你的支出:”);
int s=input.nextInt();
money-=s;
System.out.println(“请说明原因:”);
String explain=input.next();
b=“支出”+money+” “+s+” "+“explain\n”;
System.out.print(“是否退出支出登记: 1为退出,2为继续”);
int a3=input.nextInt();
if(a3==1) {
flag2=false;
}
}
break;
case 4:
flag=false;
break;
default:
break;
}
}
}
}