展开全部
1.User.java
public class User {
private String userName;// 用户名62616964757a686964616fe78988e69d8331333361303030
private String password;// 密码
private String gender;
private Integer age;
private double money;// 钱
public User(String userName, String password, double money) {
super();
this.userName = userName;
this.password = password;
this.money = money;
}
public User(String userName, String password, String gender, Integer age, double money) {
super();
this.userName = userName;
this.password = password;
this.gender = gender;
this.age = age;
this.money = money;
}
public String getGender() {
return gender;
}
public void setGender(String gender) {
this.gender = gender;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public double getMoney() {
return money;
}
public void setMoney(double money) {
this.money = money;
}
public String toString() {
return "Name: " + this.userName + " password: " + password + " gender: " + gender + " age: " + age
+ " money: " + this.money;
}
}2.Bank.java
import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;
class PermissionException extends Exception {
private static final long serialVersionUID = 1L;
public PermissionException(String errMsg) {
super(errMsg);
}
}
public class Bank {
private static Map bankMap = new HashMap();
private static Scanner input = new Scanner(System.in);
/**
* 增加用户
*
* @param user
* 用户对象
*/
public static void createNewAccount(User user) {
bankMap.put(user.getUserName(), user);
}
/**
* 取出用户
*
* @param userName
* 用户名
* @return user or null
*/
public static User getUser(String userName) {
if (null == userName) {
userName = "";
}
return bankMap.get(userName);
}
/**
* login
*/
public static void login() {
int inputTimes = 0;
User user;
System.out.print("Account: ");
String userName = input.next();
do {
System.out.print("Password: ");
String password = input.next();
user = getUser(userName);
if (user != null && user.getPassword().equals(password)) {
break;
}
inputTimes++;
} while (inputTimes
if (inputTimes >= 3) {
deny();
} else {
takeMoney(user);
}
}
/**
* take money
*/
public static void takeMoney(User user) {
double take = 0;
double remain = user.getMoney();
do {
System.out.print("Take how much? input: ");
take = input.nextDouble();
if (take > remain) {
System.out.println("\nRemain: " + remain + " please take less than the remain money\n\n");
}
} while (take > remain);
System.err.println("\n\nsuccess,take: " + take + ", remain is: " + (remain - take));
user.setMoney(remain - take);
}
/**
* permission deny
*/
public static void deny() {
try {
throw new PermissionException("密码错误,请重新输进");
} catch (Exception e) {
System.out.println("密码错误,请重新输进");
}
}
public static void main(String[] args) {
User user = new User("3306", "3306", "JavaMonkey", 26, 1000);
createNewAccount(user);
login();
}
}