题目:银行的账户记录Account有账户的唯一性标识(11个长度的字符和数字的组合),用户的姓名,开户日期(Date),账户密码(六位的数字,可以用0开头),当前的余额。银行规定新开一个账户时,银行方面提供一个标识符、账户初始密码123456,客户提供姓名,开户时客户可以直接存入一笔初始账户金额,不提供时初始余额为0。定义该类,并要求该类提供如下方法:存款、取款、变更密码、可以分别查询账户的标识、姓名、开户日期、当前余额等信息。
代码:
import java.util.Date;
import java.util.Scanner;
public class Main{
public static void main(String arg[]) {
Scanner in=new Scanner(System.in);
System.out.println("Welcome");
Account person=new Account();
person.setAccount();
MAX_LOOP:
while(true) {
System.out.println("请选择服务项目:0.退出 1.存款 2.取款 3.变更密码 4.查询账户标识 5.查询姓名 6.查询开户日期 7.查询当前余额");
int s=in.nextInt();
MIN_LOOP:
while(s>=0) {
if(s==0) {
System.out.println("谢谢使用!");
break MAX_LOOP;
}
else {
switch(s) {
case 1:person.Accountdeposit();break MIN_LOOP;
case 2:person.Accountwithdraw();break MIN_LOOP;
case 3:person.AccountsetPassword();break MIN_LOOP;
case 4:person.Accountsearchid();break MIN_LOOP;
case 5:person.Accountsearchname();break MIN_LOOP;
case 6:person.Accountsearchdate();break MIN_LOOP;
case 7:person.Accountsearchbalance();break MIN_LOOP;
}
}
}
}
}
}
class Account{
private String id;
private String name;
private String date;
private int password=123456;
private double balance=0;
public void setDate() {
Date date=new Date();
this.date=date.toString();
}
public void setName(String name) {
this.name=name;
}
public void setBalance(double money) {
balance=money;
}
public void deposit(double money) {
balance+=money;
System.out.println("当前余额:"+balance);
}
public void withdraw(double money) {
if(money<=balance) {
balance-=money;
System.out.println("请取款,当前余额:"+balance);
}
else {
System.out.println("余额不足!当前余额:"+balance);
}
}
public void setPassword(int password) {
this.password=password;
System.out.println("修改成功!");
}
public void setId(String id) {
this.id=id;
}
public String getId() {
return id;
}
public String getName() {
return name;
}
public String getDate() {
return date;
}
public double getBalance() {
return balance;
}
public int getPassword() {
return password;
}
public void setAccount() {
Scanner in=new Scanner(System.in);
System.out.println("银行方面提供11位长度的用户标识:");
String id=in.next();
setId(id);
setDate();
System.out.println("请输入姓名:");
String name=in.next();
setName(name);
System.out.println("现在是否需要存入金额:需要请输入'是',不需要请输入'否'。");
String feedback=in.next();
if(feedback.equals("是")) {
System.out.println("请输入存入金额:");
double money=in.nextDouble();
setBalance(money);
System.out.println("开户成功!");
}
else {
System.out.println("开户成功!");
}
System.out.println("账户标识:"+getId());
System.out.println("用户姓名:"+getName());
System.out.println("开户日期:"+getDate());
System.out.println("初始密码:"+getPassword());
System.out.println("账户余额:"+getBalance());
}
public void Accountdeposit() {
Scanner in=new Scanner(System.in);
System.out.println("请输入存款金额:");
double a=in.nextDouble();
deposit(a);
}
public void Accountwithdraw() {
Scanner in=new Scanner(System.in);
System.out.println("请输入取款金额:");
double b=in.nextDouble();
withdraw(b);
}
public void AccountsetPassword() {
Scanner in=new Scanner(System.in);
System.out.println("请输入密码:");
int p=in.nextInt();
setPassword(p);
}
public void Accountsearchid() {
System.out.println("当前账户标识:"+getId());
}
public void Accountsearchname() {
System.out.println("用户姓名:"+getName());
}
public void Accountsearchdate() {
System.out.println("开户日期:"+getDate());
}
public void Accountsearchbalance() {
System.out.println("当前余额:"+getBalance());
}
}
运行结果: