主要涉及以下知识点:
变量的定义 基本数据类型的使用 循环语句 分支语句 方法声明、调用和返回值的接收 简单的屏幕输出格式控制需求说明
模拟实现基于文本界面的《家庭记账软件》。 该软件能够记录家庭的收入、支出,并能够打印收支明细表。 项目采用分级菜单方式。主菜单如下: 假设家庭起始的生活基本金为10000元。 每次登记收入(菜单2)后,收入的金额应累加到基本金上,并记 录本次收入明细,以便后续的查询。 每次登记支出(菜单3)后,支出的金额应从基本金中扣除,并记 录本次支出明细,以便后续的查询。 查询收支明细( 菜单1)时,将显示所有的收入、支出名细列表 “登记收入”的界面及操作过程如下所示: “登记支出”的界面及操作过程如下所示: “收支明细”的界面及操作过程如下所示: 提示:明细表格的对齐,可以简单使用制表符‘\t’来实现 “退 出”的界面及操作过程如下所示:键盘访问的实现
项目中提供了Utility.java类,可用来方便地实现键盘访问。 工具类 Utility.java 将不同的功能封装为方法,就是可以直接通过调用方法使用它的功能,而无需考虑具体的功 能实现细节。在Utility.java工具类中提供了以下静态方法: public static char readMenuSelection() :用于界面菜单的选择。该方法读取键盘,如果用户键入’1’-’4’中的任意字符,则方法返回。返回值为用户键入字符。
private static Scanner scanner = new Scanner(System.in); /**用于界面菜单的选择。该方法读取键盘,如果用户键入’1’-’4’中的任意字符,则方法返回。返回值为用户键入字符。*/public static char readMenuSelection() { char c; for (; ; ) { String str = readKeyBoard(1); c = str.charAt(0); if (c != '1' && c != '2' && c != '3' && c != '4') { System.out.print("选择错误,请重新输入:"); } else break; } return c; }
123456789101112131415161718 public static int readNumber() :用于收入和支出金额的输入。该方法从键盘读取一个不 超过 4位长度的整数,并将其作为方法的返回值。
/**用于收入和支出金额的输入。该方法从键盘读取一个不超过4位长度的整数,并将其作为方法的返回值。*/ public static int readNumber() { int n; for (; ; ) { String str = readKeyBoard(4); try { n = Integer.parseInt(str); break; } catch (NumberFormatException e) { System.out.print("数字输入错误,请重新输入:"); } } return n; }
1234567891011121314151617181920 public static String readString() :用于收入和支出说明的输入。该方法从键盘读取一个不 超过 8位长度的字符串,并将其作为方法的返回值。
/**用于收入和支出说明的输入。该方法从键盘读取一个不超过8位长度的字符串,并将其作为方法的返回值。*/ public static String readString(123