运用循环进行记账。
方法1:用if语句
public class Text {
public static void main(String[] args) {
// TODO Auto-generated method stub
//假设初始金额是10000元
int money = 10000;
//detail 用来记录收支情况。初始值为空字符串。
String detail = "";
//定义一个退出的标记,用于结束循环
boolean exit = false;
//创建一个扫描,用于扫描我们键盘输入的内容
Scanner sc = new Scanner(System.in);
//死循环,用于每次显示下列输出内容。
while(exit==false)
{
System.out.println("------------家庭记账软件------------");
System.out.println(" 1.查看明细");
System.out.println(" 2.登记收入");
System.out.println(" 3.登记支出");
System.out.println(" 4.退出");
System.out.print(" 请选择(1-4):");
//输入选择的数字num。
int num =sc.nextInt();
if(num>4 || num<1 )
{
System.out.println("您输入的数字有误,请重新输入");
}
//当数字在1-4之间,进入循环
while(num<4 && num>0)
{
if(num == 2)
{
System.out.print("本次收入金额:");
int input = sc.nextInt();
System.out.print("本次收入说明:");
String inpuse = sc.next();
money+=input;
detail+="收入"+"\t"+money+"\t"+input+"\t"+inpuse+"\n";
System.out.println("登记完成");
break;
}
if(num ==3)
{
System.out.print("本次支出金额:");
int output = sc.nextInt();
System.out.print("本次支出说明:");
String outpuse = sc.next();
money-=output;
detail+="支出"+"\t"+money+"\t"+output+"\t"+outpuse+"\n";
System.out.println("登记完成");
break;
}
if(num == 1)
{
System.out.println("------------当前收支明细记录------------");
System.out.println("收支"+"\t"+"账户金额"+"\t"+"收支金额"+"\t"+"说明");
System.out.println(detail);
break;
}
}
if(num == 4)
{
System.out.print("确认是否退出(Y/N):");
String a = sc.next();
if(a.equals("Y"))
{
exit=true;
}else if(a.equals("N"))
{
exit=false;
}else
System.out.println("输入错误,请重新输入");
}
}
}
}
方法2:用switch.....case
public class TextSwitch {
public static void main(String[] args) {
//假设初始金额是10000元
int money = 10000;
//detail 用来记录收支情况。初始值为空字符串。
String detail = "";
//定义一个退出的标记,用于结束循环
boolean exit = false;
//创建一个扫描,用于扫描我们键盘输入的内容
Scanner sc = new Scanner(System.in);
//死循环,用于每次显示下列输出内容。
while(exit==false)
{
System.out.println("------------家庭记账软件------------");
System.out.println(" 1.查看明细");
System.out.println(" 2.登记收入");
System.out.println(" 3.登记支出");
System.out.println(" 4.退出");
System.out.print(" 请选择(1-4):");
//输入选择的数字num。
int num =sc.nextInt();
while(num>4 || num<1 )
{
System.out.println("您输入的数字有误,请重新输入");
num = sc.nextInt();
}
switch(num) {
case 1:
System.out.println("================当前收支明细记录================");
System.out.println("收支\t账户金额\t收支金额\t说明");
System.out.println(detail);
break;
case 2:
System.out.print("本次收入金额:");
int input = sc.nextInt();
while(input<=0)
{
System.out.println("收入金额必须为正整数,请重新输入:");
input = sc.nextInt();
}
sc.nextLine();//清空键盘缓存区
System.out.print("本次收入说明:");
String inpuse = sc.next();
//更新余额
money+=input;
detail+="收入\t"+money+"\t"+input+"\t"+inpuse+"\n";
System.out.println("登记完成");
break;
case 3:
System.out.print("本次支出金额:");
int output = sc.nextInt();
System.out.print("本次支出说明:");
String outpuse = sc.next();
money-=output;
detail+="支出\t"+money+"\t"+output+"\t"+outpuse+"\n";
System.out.println("登记完成");
break;
case 4:
System.out.print("确认是否退出(Y/N):");
String a = sc.next();
//if(a.equalsIgnoreCase("Y")) //忽略大小写
if(a.equals("Y") || a.equals("y"))
{
exit=true;
}else if(a.equals("N") || a.equals("n"))
{
exit=false;
}else
System.out.println("输入错误,请重新输入");
break;
}
}
}
}