针对Java流程控制知识点-项目1:家庭收支软件
package LianXi;
import java.util.Scanner;
class abstra
{
public static void main(String[] args){
int selection=0;
String detail="";
int input, balance=100000;
Lable: while(true)
{
switch(selection){
case 1:
System.out.println("--------------当月收支明细记录--------------");
System.out.println("收支\t账户金额\t\t收支金额\t\t说 明");
System.out.println(detail);
break;
case 2:
System.out.print("本月收入:");
input=Utility.readNumber();
balance +=input;
System.out.print("说明:");
String infor1=Utility.readString();
detail +="收入\t"+balance+"\t\t"+input+"\t\t"+infor1+"\n";
break;
case 3:
System.out.print("本月支出:");
input=Utility.readNumber();
balance -=input;
System.out.print("说明:");
String infor2=Utility.readString();
detail +="支出\t"+balance+"\t\t"+input+"\t\t"+infor2+"\n";
break;
case 4:
System.out.println("是否确认退出?确定输入Y,否定输入N");
char isExit=Utility.readConfireSelection();
if(isExit=='y'|isExit=='Y'){
break Lable;
}
}
System.out.println("--------------家庭收支记账软件--------------\n");
System.out.println(" 1.收支明细");
System.out.println(" 2.登记收入");
System.out.println(" 3.登记支出");
System.out.println(" 4.退 出\n");
System.out.println("\t\t请选择:1-4");
selection=Utility.readMenuselection();
}
}
}
package LianXi;
import java.util.Scanner;
public class Utility{
private static Scanner scanner=new Scanner(System.in);
public static int readMenuselection(){
while(true){
int i=scanner.nextInt();
if(i<=4&&i>=1){
return i;
}else{
System.out.println("输入错误,请重新输入");
}
}
}
public static int readNumber(){
int n= scanner.nextInt();
return n;
}
public static String readString(){
String str=scanner.next();
return str;
}
public static char readConfireSelection(){
char c;
for(;;){
String str=scanner.next();
c=str.charAt(0);
if(c=='y'|c=='Y'|c=='n'|c=='N')
{
break;
}else
{
System.out.println("输入错误,请重新输入");
}
}
return c;
}
}