import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.text.SimpleDateFormat;
import java.util.GregorianCalendar;
import java.util.Map;
import java.util.TimeZone;
/**
* 主函数
*/
public class bank {
public static double rate = 0.001;
public String accountNum;
public String username;
public String address;
public double rates;
/**
* 存款时间
*/
public double balance;// 余额
// public static double minBalance;
public TimeZone df;
// 存款方法
public void savemoney(double balance) {
this.balance += balance;
}
// 取款方法
public double GetMoney(double balance) {
System.out.println("this is balance" + balance);
System.out.println("this is sum" + this.balance);
if (balance > this.balance) {
System.out.println("取款数大于余额,请重新输入取款数!");
System.exit(0);
}
else {
this.balance -= balance;
}
return this.balance;
}
// 查询用户的余额方法
public void money() {
System.out.println("您的余额是:" + this.balance);
}
/**
* 累加利息
*
* @return
*/
public void sumrate() {
System.out.println("你的累加利息是:" + rates);
}
/**
* 计算利息,要求用户输入天数
*/
public double calculate(double a) {
double rates = balance * rate;
System.out.println("您的存款利息是:" + rates);
return rates;
}
/**
* 如果余额为零就充许更改,否则不允许操作。
*/
public static double changeMinBalance(double br2) {
double min = br2;
return min;
}
public static void paint() {
System.out.println("1.存款");
System.out.println("2.取款");
System.out.println("3.查询");
System.out.println("4.计算利息");
System.out.println("5.累加利息");
System.out.println("6.修改最小余额");
System.out.println("7.退出");
}
public static void showInfo(bank bankServer) {
System.out.println("您的帐号:" + bankServer.accountNum + " 储户姓名:"
+ bankServer.username);
}
/**
*
* @param args
*/
public static void main(String[] args) {
// 获得从键盘输入的信息!
InputStreamReader is = new InputStreamReader(System.in);
BufferedReader br = new BufferedReader(is);
bank bankServer = new bank();
System.out.println("请输入帐号:");
try {
bankServer.accountNum = br.readLine();
System.out.println("请输入储户姓名:");
bankServer.username = br.readLine();
System.out.println("请输入存款数:");
bankServer.balance = Double.parseDouble(br.readLine());
} catch (IOException e) {
e.printStackTrace();
}
showInfo(bankServer);
paint();
// 循环进行相关的操作!
while (true) {
InputStreamReader is1 = new InputStreamReader(System.in);
BufferedReader br1 = new BufferedReader(is1);
// 获得所选的操作代号!
int action = 0;
try {
action = Integer.parseInt(br1.readLine());
} catch (NumberFormatException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
switch (action) {
case 1:
try {
System.out.println("请输入存款数:");
bankServer.savemoney(Double.parseDouble(br.readLine()));
showInfo(bankServer);
} catch (NumberFormatException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
paint();
break;
case 2:
try {
System.out.println("请输入取款数:");
// 获得取款的金额数值
InputStreamReader is4 = new InputStreamReader(System.in);
BufferedReader br4 = new BufferedReader(is4);
bankServer.GetMoney(Double.parseDouble(br4.readLine()));
showInfo(bankServer);
} catch (NumberFormatException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
paint();
break;
case 3:
bankServer.money();
break;
case 4:
System.out.println("请输入存款的天数:");
// 获得存封款的天数
InputStreamReader is3 = new InputStreamReader(System.in);
BufferedReader br3 = new BufferedReader(is3);
try {
bankServer.calculate(Double.parseDouble(br3.readLine()));
} catch (NumberFormatException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
paint();
break;
case 5:
bankServer.sumrate();
paint();
break;
case 6:
// 余额不为零不能进行修改
if (bankServer.balance == 0) {
double mibalance = 0;
System.out.println("你的余额为0,可以修改余额");
System.out.println("请输入余额的数字:");
// 获得想修改的余额的值
InputStreamReader is2 = new InputStreamReader(System.in);
BufferedReader br2 = new BufferedReader(is2);
try {
// 把数值转换为Double
double mibalance1 = Double.parseDouble(br1.readLine());
mibalance = mibalance1;
} catch (NumberFormatException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
// 静态方法调用,修改余额
double change = BankServer.changeMinBalance(mibalance);
bankServer.balance = change;
paint();
} else {
System.out.println("你的余额不为0,不能修改余额");
System.out.println("请重新输入操作码");
paint();
}
break;
case 7:
System.exit(0);
break;
}
}
}
}