基础项目:收入支出系统(刚学完基础篇,根据马士兵教学而做了些改动)

public class Test2
{
	public static void main(String[]args){
		//定义一个字符串,用来接收整个收支明细
       String details = ""; 
	   //定义一个变量,接受余额;
	   int balance = 0;//初始化金额为0

     while (true)//插入到一个死循环里实现每个功能都可以选择
     {
	  System.out.println("               ----------欢迎进入旦增同学收支系统---------------");
	  System.out.print("1.收支明细");
	  System.out.print("            2.登记收入");
	  System.out.print("            3.登记支出");
	  System.out.println("            4.退出系统");
	  System.out.println("   ***********************************************************************");
	  System.out.println("请选择您要使用的功能");
	  //拿来一个扫描器
	  java.util.Scanner sc=new java.util.Scanner(System.in);
	  //接受键盘输入的int类型
	  int choice = sc.nextInt();
	  //对你录入的数字做个过滤
	  while (choice !=1 && choice !=2 && choice !=3 && choice !=4)//选择while语句目的只要你输入的新的数字不对,就一直循环
	  {
		  System.out.println("对不起,您输入的不符合功能要求,请重新输入:");
		  int newChoice = sc.nextInt();//再次接受新的数字
		  choice = newChoice;//就选择更替成新的选择
	  }
	  //根据录入数字判断执行对应功能
	  switch (choice)
	  {
	  case 1 :
		  System.out.println("记账系统>>>>收支明细");	  
	      //System.out.println(details);//如果直接输出detailsname最后多了一行:
		 /*
		  String s =details.substring(0,details.length()-1);
          System.out.println(s);z
		  */
		  if (details != "")//当接受的字符串为空字符串时,你不能从0-1到-1,会出错所以设置一个判断条件
		  {
			  System.out.println(details.substring(0,details.length()-1));//去掉换行   从0 截取字符串 
		  } else
		  {
             System.out.println(details);

		  }
		  break;
	  case 2 :
		   System.out.println("记账系统>>>>登记收入");
	        System.out.println("请输入您的收入金额:");
			int income = sc.nextInt();
			System.out.println("请说明收入来源:");
			String incomeDetail = sc.next();
			balance +=income;
			details = details + "收入:" + income + "元   收入说明:" + incomeDetail+ "    账户余额:" + balance+"元"+"\n";//换行收入情况清楚
		  break;
	  case 3 :
		   System.out.println("记账系统>>>>登记支出");
	       System.out.println("请输入您支出的金额:");
		   int expend = sc.nextInt();
		   System.out.println("请说明支出用于:");
			String expendDetail = sc.next();
			balance -=expend;
			details = details + "支出:" + expend + "元   支出说明:" + expendDetail+ "    账户余额:" + balance+"元"+"\n";//换行收入情况清楚


		  break;
	  case 4 :
		   System.out.println("记账系统>>>>退出功能");
	       System.out.println("确定要退出吗?Y/N:");
		   String isExit = sc.next();
		   switch (isExit)
		   {
		   case "Y":
           System.out.println("系统已退出,感谢您的使用!");
		    return;//直接结束当前的方法

	  
		   }
		 
	       }
        }
	}
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值