我的第一个Java小项目
第一次做的Java小项目,一个模拟银行自动取款机存取款的过程;
1.先建立一个用户类
package com.it.atm;
public class User {
String name;//姓名
String card;//卡号
String pwd;//密码
int money;//钱
}
2.建立一个ATM机类
package com.it.atm;
import java.util.Scanner;
public class Atm {
String name;//银行名称
User users[] = new User[10];//银行存储用户的数组
int count = 0;//记录有几个用户注册
Scanner input = new Scanner(System.in);
//初始化的方法
public void inid(){
System.out.println(“@”);
System.out.println("\t\t\t\t\t");
System.out.println("\t\t中国建设银行\t\t");
System.out.println("\t\t\t\t\t");
System.out.println(“@”);
System.out.println("\t\t请选择主菜单业务:");
System.out.println("\t\t1.开户");
System.out.println("\t\t2.登录");
System.out.println("\t\t3.退出");
}
//选择的方法
public void xuan(){
int aa = input.nextInt();//接受你键盘输入的菜单选项
switch (aa) {
case 1://开户
kaihu();//调用开户的方法
break;
case 2://登录
login();//调用登录的方法
break;
case 3://退出
// drop();
break;
default:
break;
}
}
public void drop() {
System.out.println(“是否退出:y/n”);
}
//登录的方法
public void login() {
System.out.println(“请输入卡号:”);
String card = input.next();
System.out.println(“请输入密码:”);
String pwd = input.next();
boolean onOff = false;
for (int i = 0; i < count; i++) {
User user = users[i];
//判断
if (user.card.equals(card) && user.pwd.equals(pwd)) {
onOff = true;
break;
}
}
//判断onOff的值
if (onOff == true) {
boolean dd = false;
System.out.println(“登录成功!”);
do {
denglu();
System.out.println(“是否继续(y/n)”);
String yesOrNo = input.next();
if (yesOrNo.equals(“y”)) {
dd = true;
}else{
break;
}
} while (dd);
}else{
System.out.println(“登录失败!”);
return;//就是结束此方法,不走后面的代码
}
}
// 登录成功的方法
public void denglu() {
System.out.println(“请选择:”);
System.out.println(“1.查询\n2.取款\n3.存款\n4.转账\n5.退出”);
int num = input.nextInt();
switch (num) {
case 1:
cha();
break;
case 2:
qukuan();
break;
case 3:
cunkuan();
break;
case 4:
zhuan();
break;
case 5:
System.out.println(“退出!”);
return;
default:
break;
}
}
public void zhuan() {
for (int i = 0; i < count; i++) {
User user = users[i];
System.out.println(“请输入卡号:”);
String card = input.next();
System.out.println(“请输入转账金额:”);
int money2 = input.nextInt();
System.out.println(“请输入密码:”);
String pwd = input.next();
if(pwd == user.pwd){
System.out.println(“转账成功!”);
System.out.println(“余额为:” + (user.money -= money2));
break;
}else{
System.out.println(“密码错误!”);
break;
}
}
}
//存款的方法
public void cunkuan() {
for (int i = 0; i < count; i++) {
User user = users[i];
System.out.println(“请输入存款金额:”);
int money1 = input.nextInt();
System.out.println(“取款成功!”);
System.out.println(“余额为:” + ( user.money += money1 ));
}
}
// 取款的方法
public void qukuan() {
System.out.println(“请输入取款金额:”);
int money1 = input.nextInt();
for (int i = 0; i < count; i++) {
User user = users[i];
if(money1 <= user.money){
System.out.println(“取款成功!”);
System.out.println(“余额为:” + (user.money -= money1));
}else{
System.out.println(“余额不足!”);
}
}
}
// 查询余额的方法
public void cha() {
for (int i = 0; i < count; i++) {
User user = users[i];
System.out.println(“您的余额为” + user.money);
}
}
// 开户的方法
public void kaihu() {
System.out.println(“请输入卡号:”);
String card = input.next();
//判断卡号在银行中有没有这个账号,有点话就不让他注册,
//并提示他已经被注册了,请重新输入
boolean onOff = false;
for (int i = 0; i < users.length; i++) {
if (count >= users.length) {
User user = users[i];
//判断
if (user.card.equals(card)) {
onOff = true;
break;
}
}else{
break;
}
}
//判断onOff的值
if (onOff == true) {
System.out.println(“此卡号已经被注册了!”);
return;//就是结束此方法,不走后面的代码
}else{
System.out.println(“此卡号可以注册!”);
}
System.out.println(“请输入密码:”);
String pwd = input.next();
System.out.println(“请输入姓名:”);
String name = input.next();
System.out.println(“请输入你的初始金额:”);
int money = input.nextInt();
//接着该把输入的密码和用户存到对象中
//开始创建用户对象
User user = new User();
user.card = card;
user.pwd = pwd;
user.name = name;
user.money = money;
//接着把对象存到数组中
users[count] = user;
count++;
}
}
3.最后建立一个测试类
package com.it.atm;
import java.util.Scanner;
public class Test {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
Atm atm = new Atm();//创建一个对象
while (true) {
atm.inid();//初始化
atm.xuan();//选择菜单
}
}
}
这样一个小小的ATM机功能就实现了