Java 编写一个家庭记账软件 -25天 学习笔记

练习

package com.xin.base;
import java.util.Scanner;

public class Part
{
		public static void main (String[] args){
				int money = 10000;//初始化金额10000
				//用于记录用户的信息
				String detalis = "收支\t账号金额\t收支金额\t说   明\t";
				//家庭记账软件
				boolean isFlag = true;//标志退出
				while(isFlag){
						
				System.out.println("=====欢迎使用家庭记账软件=====");
				System.out.println("     1  选择支出记录");
				System.out.println("     2  选择收入记账");
				System.out.println("     3 选择详细账本记录");
				System.out.println("     4  退出程序"+"\n");
				System.out.println("        选择1-4     ");
				
				char key= new Utililt().readMenuSelection();
					System.out.println();
					
	    switch (key){
							case '4':
									System.out.println("是否退出程序请输出y或n");
									char yn = new Utililt().exit();
									if(yn == 'Y')
										isFlag = false;
									break;
							case '3':
								System.out.println("=====当前收支明细=====");
								System.out.println(detalis);
								System.out.println("====================");
								break;
							case '2' :
								System.out.println("本次收入金额");
							int amount =	new Utililt().readNumber();
								System.out.println("本次收入说明");
							String decs =	new Utililt().readString();
									money += amount;
								detalis += "\n"+"收入\t"+money+"\t"+amount+"\t\t\t"+decs+"\n";
								System.out.println("=====登记完成======");
								System.out.println(detalis);
								break;
							case '1' :
								System.out.println("本次支出金额");
			    	int amount1 =	new Utililt().readNumber();
	      	System.out.println("本次支出说明");
			     String decs1 =	new Utililt().readString();
								money -= amount1;
								detalis += "\n支出\t"+money+"\t"+amount1+"\t\t\t"+decs1+"\n";
							
								System.out.println("=====登记完成======");
								System.out.println(detalis);
					}
				  
				}

			 
				
			
		}
		
		
}

工具类

package com.xin.base;
import java.util.Scanner;

public class Utililt
{
   	//工具类
   			private static		Scanner scanner = new Scanner(System.in);
   			
   			
   			
   	//用于界面的选择,该方法读取键盘,如果用户输入1.2.3.4就分别选择所属功能
   	public char readMenuSelection(){
   			char c;
   			for(;;) {
   					String str = readKeyBoard(1);
   					c = str.charAt(0);
   					if(c != '1' && c != '2' && c != '3' && c != '4'){
   							System.out.println("输入错误,请重新输入");
   					}else break;
   			}
   			
     return c;
   	}
   	//用于收支,支出的金额的输入,从键盘获取一个不超过4位的数,将其做完返回值
   	public int readNumber(){
   			int n;
   			for(;;){
   					String str = readKeyBoard(4);
   					try{
   							n = Integer.parseInt(str);
   							break;
   					}catch(NumberFormatException e){
   							System.out.println("数字输入错误");
   					}
   			}
   			return n;
   	}
   	
   	//用于收支,支出的说明,该方法从键盘读取不超过8位长度的字符串作为返回值
   	public String readString(){
   			String str = readKeyBoard(8);
   			return str;
   	}
   	
   	//用户退出功能,用于确定选择的输入
   	
   	public char exit(){
   			char c;
   			for(;;){
   					String str = readKeyBoard(1)

猜你喜欢

转载自blog.csdn.net/yibai_/article/details/115221166