Test类
import java.util.Scanner;
public class Family{
public static void main(String[] args){
// 定义初始金钱
double money = 0.0;
String arg = "收支\t账户金额\t\t收支金额\t\t说明\n";
boolean falg = true;
do{
System.out.println("--------------------------家庭收支记账软件-----------------------\n");
System.out.println(" 1.收支明细\n");
System.out.println(" 2.登记收入\n");
System.out.println(" 3.登记支出\n");
System.out.println(" 4. 退出\n");
System.out.print("\t\t请选择(1-4):");
int i = Function.shouye();
switch(i){
case 1:
System.out.println(arg+'\n');
break;
case 2:
System.out.print("本次收入金额:");
double money1 = Function.shouye2();
while(money1<0){
System.out.println("您这是存钱,取钱请到3!\n 给我重新输:");
money1 = Function.shouye2();
}
money += money1;
System.out.print("请输入这钱的来源:");
String yijuhua = Function.shuom();
arg += "收入\t"+money+"\t\t\t"+money1+"\t\t\t"+yijuhua+"\n";
System.out.println("----------------------登记完成----------------------------");
// arg += "收入\t"+money+"\t\t"+money1+"\t\t"+"\n";
break;
case 3:
System.out.print("本次支出金额:");
double money2 = Function.shouye3();
while(money2<0){
System.out.println("请认真对待自己!重新输:");
money2 = Function.shouye3();
}
while(money2>money){
if(money==0)System.out.println("穷鬼哟!");
System.out.println("请您现实一点!");
money2 = Function.shouye3();
}
money -= money2;
System.out.print("请说明这钱的用途:");
String erjuhua = Function.shuom();
arg += "支出\t"+money+"\t\t\t"+money2+"\t\t\t"+erjuhua+"\n";
System.out.println("----------------------登记完成----------------------------");
break;
case 4:
System.out.print("确认是否退出(Y/N):");
char yn = Function.yesno();
if(yn == 'Y'){
//return false;
falg = false;
}
/* case '4':
System.out.print("确认是否退出(Y/N):");
char yn = Function.yesno();
if(yn=='Y'){
falg = false;//当确认退出时,退出循环
}
break;*/
}
}while(falg);
}
}
功能模块
import java.util.*;
public class Function{
// 首页1-4选项
public static int shouye(){
Scanner sc = new Scanner(System.in);
// 输入整数1,2,3,4,
int i = sc.nextInt();
while(true){
if(i != 1 && i !=2 && i != 3 && i !=4){
System.out.println("选择错误,请重新输入:");
i = sc.nextInt();
}else break;
}
return i;
}
// 收入的钱
public static double shouye2(){
Scanner sc = new Scanner(System.in);
double shouru = sc.nextDouble();
//shouru1 = shouru;
return shouru;
}
// 说明
public static String shuom(){
Scanner sc = new Scanner(System.in);
String sm = sc.nextLine();
return sm;
}
// 支出的钱
public static double shouye3(){
Scanner sc = new Scanner(System.in);
double zhichu = sc.nextDouble();
return zhichu;
}
// 输入yn
public static char yesno(){
Scanner sc = new Scanner(System.in);
char yn = sc.next().charAt(0);
// 改变大小写
while(true){
if(yn == 'y'){
yn = 'Y';break;
}else if(yn == 'n'){
yn = 'N';break;
}else if (yn != 'Y' || yn != 'N') {
System.out.print("再给你一次机会,输入Y/N:");
yn = sc.next().charAt(0);
} else{
System.out.println(yn);break;
}
}
/* switch(yn){
case 'y':yn = 'Y';break;
case 'n':yn = 'N';break;
case 'Y':yn = 'Y';break;
case 'N':yn = 'N';break;
default:System.out.print("选择错误,请重新输入:");
}*/
return yn;
}
/* public static char readConfirmSelection() {
Scanner str = new Scanner(System.in);
char c;
for (; ; ) {
// c = str.charAt(0);
if (c == 'Y' || c == 'N') {
break;
} else {
System.out.print("选择错误,请重新输入:");
}
}
return c;
}*/
}