家庭收支系统 ——Java版

代码:
运行类

package com.up;

public class FamilyAccount {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		boolean isFead=true;
		int ab=10000;
		String details = "收支\t账户金额\t收支金额\t说明\n";
		
		while(isFead) {
			
		System.out.println("-------------------  收支记账软件---------------------");
		System.out.println("                     1 收支明细");
		System.out.println("                     2 登记收入");
		System.out.println("                     3 登记支出");
		System.out.println("                     4 退出");
		System.out.println("                   请选择(1-4):");
		char i=Utility.judge_rank();
		switch(i) {
		case '1':
			System.out.println(details);
			
			break;
		case '2':
			System.out.println("本次收入金额:");
			int a=Utility.out_of_step();
			System.out.println("本次收入说明:");
			String cc=Utility.instructions_up();
			
			ab+=a;
			details+= "收入\t" + ab + "\t" + a + "\t" + cc + "\n";
			break;
		case '3':
			System.out.println("本次支出金额:");
			int a1=Utility.out_of_step();
			System.out.println("本次支出说明:");
			String cc1=Utility.instructions_up();
			
			ab-=a1;
			details+= "支出\t" + ab + "\t" + a1 + "\t" + cc1 + "\n";
			
			break;
		case '4':
			char letter= Utility.confirm_field();
			
			break;
		}
		
		}
		

	}


}

功能类

package com.up;

import java.util.Scanner;


public class Utility {
	private static Scanner scan=new Scanner(System.in);
	// 判断输入的长度(不能为零,不能>1位)     
	public static String judge_id(int i) {
		String flag="";
	    while(scan.hasNext()) {
	    	flag=scan.nextLine();
	    	if(flag.length()<1||flag.length()>i)
	    	{
	    		System.out.println("输入长度(不大于" + i + ")错误,请重新输入"); 	
	    		continue;
	    	}else break;
	    }
	    //System.out.println(flag);	
	    return flag;
	}
	
	// 判断输入的是否正确(1-4)
	public static char judge_rank() {
		char c;
		
		for(;;) {
			String str=judge_id(1);
			c=str.charAt(0);
			
			if(c!='1'&&c!='2'&&c!='3'&&c!='4')
			{			System.out.println("输入的数字不对,应该输入1-4");	}
			else
				break;
		}		
		return c;		
	}
		
	// 用于确认选择的输入,该方法从键盘读取Y或N,并将其作为方法的返回值
	public static char confirm_field() {
		System.out.println("输入字母Y,N");
		char c;
		
		for(;;) {
			String str=judge_id(1);//只能放这里,在上面会出不来循环
			c=str.charAt(0);
			if(c!='y'||c!='Y'||c!='n'||c!='N')
			{  System.out.println("输入的字母不对,应该输入Y N");	}else break;
		}
		return c;
	}
	
	
	//用于收入和支出的输入,该方法从键盘读取一个不超过4位长度的整数,a将其作为方法的返回值
	public static  int  out_of_step(){
		int a;		
		for(;;) {
			String str=judge_id(4);
			try {
				a = Integer.parseInt(str);
				break;
			} catch (Exception e) {
				System.out.println("数字输入错误,请重新输入");
			}
		
		}
		return a;
	}
	
	//用于收入和支出说明的输入,该方法从键盘读取一个不超过8位长度的字符串,并将其作为方法的返回值
	public static String instructions_up(){
		String s=judge_id(8);
		return s;
	}
	
	
	
	
}

截图:在这里插入图片描述
在这里插入图片描述
收获:
没啥收获…只能说重温下java基础吧。。。

发布了93 篇原创文章 · 获赞 31 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/weixin_43866567/article/details/96323892