代码:
运行类
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基础吧。。。