1.开发一个系统——完成系统架构搭建
ArrayList 是 Java 中基于动态数组实现的 List 接口容器,属于集合框架(Java Collections Framework)的核心类之一。
ArrayList 就像会自动扩容的储物柜:
储物格是连在一起的:每个物品(元素)按顺序存放,找东西时直接报序号就能快速拿到(比如第3个格子) 不够了自动加格子:默认10个格子,存满时自动增加1.5倍新空间(比如变成15格) 中间插队很麻烦:如果要在中间插入或拿走一个物品,后面的所有物品都要挪位置 柜子不锁门:多人同时用可能出错,需要自己加锁
开户功能总结:
package ATMproject;
public class Account {
private String cardID;
private String userName;
private char sex;
private String passWord;
private double money;
private double limit;
public Account() {
}
public String getCardID() {
return cardID;
}
public void setCardID(String cardID) {
this.cardID = cardID;
}
public String getUserName() {
return userName+(sex =='男'?"先生":"女士");
}
public void setUserName(String userName) {
this.userName = userName;
}
public char getSex() {
return sex;
}
public void setSex(char sex) {
this.sex = sex;
}
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 double getLimit() {
return limit;
}
public void setLimit(double limit) {
this.limit = limit;
}
}
package ATMproject;
import java.sql.SQLOutput;
import java.util.ArrayList;
import java.util.Random;
import java.util.Scanner;
public class ATM {
// 定义一个集合,存储账户信息
private ArrayList<Account> accounts= new ArrayList<>();
// 从键盘接收数据
private Scanner sc = new Scanner(System.in);
// 启动ATM系统 展示欢迎界面
public void start(){
while(true) {
System.out.println("欢迎您进入到了ATM启动系统界面");
System.out.println("1.用户登录");
System.out.println("2.用户开户");
System.out.println("请选择:");
// 键盘接收到数据后传值给command
int command = sc.nextInt();
switch (command) {
case 1:
//用户登录
break;
case 2:
//用户开户
createAccount();
break;
default:
System.out.println("没有该操作~~");
}
}
}
private void createAccount(){
System.out.println("====系统开户操作====");
Account acc = new Account();
System.out.println("请输入您的账户名称");
String name = sc.next();
acc.setUserName(name);
while (true) {
System.out.println("请输入您的性别:");
char sex = sc.next().charAt(0);
if(sex=='男'||sex=='女'){
acc.setSex(sex);
break;
}else{
System.out.println("您输入的性别有误,请重新输入~~");
}
}
while (true) {
System.out.println("请输入您的账户密码:");
String passWord = sc.next();
System.out.println("请输入您的确认密码:");
String okPassword = sc.next();
if(okPassword.equals(passWord)){
acc.setPassWord(okPassword);
break;
}else{
System.out.println("您输入的2次密码不一样");
}
}
System.out.println("请输入您的取现额度:");
double limit = sc.nextDouble();
acc.setLimit(limit);
accounts.add(acc);
System.out.println("恭喜您"+acc.getUserName()+
"开户成功,您的卡号是:");
}
// 返回一个8位数的卡号,且唯一
private String createCardId(){
String cardId = "";
Random r =new Random();
for(int i=0;i<8; i++){
int data = r.nextInt(10);
cardId+=data;
}
}
private Account getAccountByCardId(String cardId){
}
}
package ATMproject;
public class Test {
public static void main(String[] args) {
ATM atm =new ATM();
atm.start();
}
}