项目一 家庭记账软件(未使用工具类java)

发布时间:2023-12-31 19:36:44

目录

方法二(未使用Utility工具类):

实现效果:

菜单主页面? ? ? ? ? ? ? ???

收支明细初始页面

登记收入? ? ? ? ? ???? ???

登记支出? ? ? ? ? ???????

退出软件? ? ? ? ? ???????

详细代码:

FamilyAccount01.java


方法二(未使用Utility工具类):

PS:本软件编写及运行使用的eclipse。

创建一个类,

与方法一区别:未对输入字符长度进行限制;且当收支金额和收支说明都为零时不进行存入明细。

---------------------------------------------------------------------------------------------------------------------------------

实现效果:

菜单主页面
? ? ? ? ? ? ? ??

收支明细初始页面

? ? ? ? ? ? ? ??

登记收入
? ? ? ? ? ???? ?

登记支出
? ? ? ? ? ?????

退出软件
? ? ? ? ? ?????

---------------------------------------------------------------------------------------------------------------------------------


详细代码:

FamilyAccount01.java

import java.util.Scanner;
public class FamilyAccount01 {

	public static void main(String[] args) {
		// TODO 自动生成的方法存根
		Scanner scanner = new Scanner(System.in);
		int num=0;
		boolean isExitFlag = false;
		String details = "";
		int  sumMoney = 1000;//初始账户金额
		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.print("                  请选择(1-4):");
			num = scanner.nextInt();
			while (num<1||num>4) {
				System.out.print("                  输入错误,请输入正确的选项:");
				num = scanner.nextInt();
			}
			int inMoney = 0;//收入金额
			String inText = "";//收入说明
			int outMoney = 0;//支出金额
			String outText = "";//支出说明
			
			
			switch (num) {
			case 1: {
				System.out.println("-----------------当前收支明细记录-----------------");
				System.out.println("收支\t账户金额\t收支金额\t说 明");
				System.out.println(details);
				break;
			}
			case 2:{
				System.out.println("2.登记收入");

				System.out.print("本次收入金额:");
				inMoney = scanner.nextInt();
				System.out.print("本次收入说明:");
				inText = scanner.next();
				sumMoney+=inMoney;
				if (inMoney!=0 && inText!=null) {
					details += "收入\t"+sumMoney+"\t+"+inMoney+"\t"+inText+"\n";
				}
				System.out.println("\n---------------------登记完成-------------------\n");
				break;
			}
			case 3:{
				System.out.println("3.登记支出");

				System.out.print("本次支出金额:");
				outMoney = scanner.nextInt();
//				System.out.println();
				System.out.print("本次支出说明:");
				outText = scanner.next();
				if (outMoney!=0 && outText!=null) {
					if (sumMoney>=outMoney) {
						sumMoney-=outMoney;
						details += "支出\t"+sumMoney+"\t-"+outMoney+"\t"+outText+"\n";
						System.out.println("\n---------------------登记完成-------------------\n");
					}else {
						System.out.println("余额不足,支出失败!");
					}
				}
				break;
			}
			case 4:{
				System.out.print("确认是否退出(Y/N):");
				String notExit = scanner.next();
				char isExit = notExit.charAt(0);
				while (isExit!='y' && isExit!='n') {
					System.out.print("选择错误,请重新输入:");
					notExit = scanner.next();
					isExit = notExit.charAt(0);					
				}
				if (isExit=='y') {
					isExitFlag = true;
				}
			}
		}
		} while (!isExitFlag);
		System.out.print("\n-----------------成功退出-----------------");
	}

}

文章来源:https://blog.csdn.net/qq_43591226/article/details/124063837
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。