栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

day 4 (项目一:家庭收支记录)

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

day 4 (项目一:家庭收支记录)

 FamilyAccount.java 与 Utility.java放在同一根目录下

//代码如下:

package project01;
public class FamaillyAccount {
    public static void main(String[] arg){
        String details = "收支t账户金额t收支金额t说    明n";
        int balance = 10000;
        boolean loopFlag = true;
        do {
            System.out.println("-----------------家庭收支记账软件-----------------");
            System.out.println("                  1 收支明细                    ");
            System.out.println("                  2 登记收入                    ");
            System.out.println("                  3 登记支出                    ");
            System.out.println("                  4 退   出                    ");
            System.out.println();
            System.out.println("                 请选择(1-4):                  ");
            char keyNumber = Utility.readMenuSelection();
            switch (keyNumber){
                case '1':
                    System.out.println("-----------------当前收支明细记录-----------------");
                    System.out.println(details);
                    System.out.println("-----------------------------------------------");
                    break;
                case '2':
                    System.out.println("本次收入金额:");
                    int amount1 = Utility.readNumber();
                    System.out.println("本次收入说明:");
                    String dec1 = Utility.readString();
                    System.out.println("-------------------登记完成--------------------n");
                    balance += amount1;
                    details += "收入" + "t" + balance + "tt" + amount1 + "tt" + dec1 +"n";
                    break;
                case '3':
                    System.out.println("本次支出金额:");
                    int amount2 = Utility.readNumber();
                    System.out.println("本次支出说明:");
                    String dec2 = Utility.readString();
                    balance -= amount2;
                    details += "支出" + "t" + balance + "tt" + amount2 + "tt" + dec2 +"n";
                    System.out.println("-------------------登记完成--------------------n");
                    break;
                case '4':
                    System.out.println("确认是否退出Y/N:");
                    char conf = Utility.readConfirmSelection();
                    break;
            }
        }while (loopFlag);
    }
}

在FamilyAccount.java中使用到的Utility文件代码如下:

import java.util.Scanner;

public class Utility {
    private static Scanner scanner = new Scanner(System.in);
    
	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;
    }
	
    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;
    }
	
    public static String readString() {
        String str = readKeyBoard(8);
        return str;
    }
	
	
    public static char readConfirmSelection() {
        char c;
        for (; ; ) {
            String str = readKeyBoard(1).toUpperCase();
            c = str.charAt(0);
            if (c == 'Y' || c == 'N') {
                break;
            } else {
                System.out.print("选择错误,请重新输入:");
            }
        }
        return c;
    }
	
	
    private static String readKeyBoard(int limit) {
        String line = "";

        while (scanner.hasNext()) {
            line = scanner.nextLine();
            if (line.length() < 1 || line.length() > limit) {
                System.out.print("输入长度(不大于" + limit + ")错误,请重新输入:");
                continue;
            }
            break;
        }

        return line;
    }
}

(b站尚硅谷java视频学习记录)

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/572678.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号