1:基础框架
import java.util.Scanner;
public class Main
{
public static void main(String[] args)
{
Scanner sc = new Scanner(System.in);
Cust st = new Cust();
st.name = "张晓红";
st.ID = 111;
st.pwd = 123456;
st.m = 1000;
System.out.printf("请输入账号ID:\n");
int ID = sc.nextInt();
switch(ID)
{
case 111:
break;
case 222:
break;
default:
break;
}
}
}
//1:class 银行职员对象
class Cust
{
String name;
int ID;
int pwd;
double m;//钱
void gM()
{
m-=100;
}
void dM()
{
m+=100;
}
void print()
{
System.out.println("");
}
}
2:+存取款金额,run菜单函数
import java.util.Scanner;
public class Main
{
public static void main(String[] args)
{
Scanner sc = new Scanner(System.in);
Cust st = new Cust();
st.name = "张晓红";
st.ID = 111;
st.pwd = 123456;
st.m = 1000;
System.out.printf("请输入账号ID:\n");
int ID = sc.nextInt();
switch(ID)
{
case 111:
boolean flg = true;
while(flg)
{
st.run();
System.out.printf("是否退出 _> Y\n");
String cmd = sc.next();
if(cmd.equals("Y"))
{
flg = false;
}
}
break;
case 222:
break;
default:
break;
}
}
}
//1:class 银行职员对象
class Cust
{
Scanner sc = new Scanner(System.in);
String name;
int ID;
int pwd;
double m;//钱
void gM()
{
System.out.println("请输入取款金额");
int mo = sc.nextInt();
m-=mo;
}
void dM()
{
System.out.println("请输入存款金额");
int mo = sc.nextInt();
m+=mo;
}
void print()
{
System.out.println("");
}
void run()
{
System.out.printf("****取款\t1****\n");
System.out.printf("****存款\t2****\n");
System.out.printf("****转账\t3****\n");
System.out.printf("****退出\t4****\n");
int cmd = sc.nextInt();
switch(cmd)
{
case 1:
gM();
break;
case 2:
dM();
break;
// case 3:
// zZ();
// break;
case 0:
return;
default:
break;
}
}
}
3:降低冗余度,用数组存放每一个顾客结构体
import java.util.Scanner;
public class Main
{
public static void main(String[] args)
{
Scanner sc = new Scanner(System.in);
Cust st[] = new Cust[2];
st[0] = new Cust();//初始化要记得写
st[1] = new Cust();
st[0].name = "张晓红";
st[0].ID = 111;
st[0].pwd = 123456;
st[0].m = 1000;
st[1].name = "张晓丽";
st[1].ID = 222;
st[1].pwd = 123456;
st[1].m = 10000;
System.out.printf("请输入账号ID:\n");
int ID = sc.nextInt();
boolean find = false;
for (int i = 0;i<st.length;i++)
{
if(ID == st[i].ID)
{
find = true;
boolean flg = true;
while(flg)
{
st[i].run();
System.out.printf("是否退出 _> Y\n");
String cmd = sc.next();
if(cmd.equals("Y"))
{
flg = false;
}
}
break;
}
}
if(find == false)
{
System.out.printf("ID无法匹配.");
}
}
}
//1:class 银行职员对象
class Cust
{
Scanner sc = new Scanner(System.in);
String name;
int ID;
int pwd;
double m;//钱
void gM()
{
System.out.println("请输入取款金额");
int mo = sc.nextInt();
m-=mo;
}
void dM()
{
System.out.println("请输入存款金额");
int mo = sc.nextInt();
m+=mo;
}
void print()
{
System.out.println("");
}
void run()
{
System.out.printf("****取款\t1****\n");
System.out.printf("****存款\t2****\n");
System.out.printf("****转账\t3****\n");
System.out.printf("****退出\t4****\n");
int cmd = sc.nextInt();
switch(cmd)
{
case 1:
gM();
break;
case 2:
dM();
break;
// case 3:
// zZ();
// break;
case 0:
return;
default:
break;
}
}
}
4:转账,(传参数)+查询账户余额
import java.util.Scanner;
public class Main
{
public static void main(String[] args)
{
Scanner sc = new Scanner(System.in);
Cust st[] = new Cust[2];
st[0] = new Cust();//初始化要记得写
st[1] = new Cust();
st[0].name = "张晓红";
st[0].ID = 111;
st[0].pwd = 123456;
st[0].m = 1000;
st[1].name = "张晓丽";
st[1].ID = 222;
st[1].pwd = 123456;
st[1].m = 10000;
System.out.printf("请输入账号ID:\n");
int ID = sc.nextInt();
boolean find = false;
for (int i = 0;i<st.length;i++)
{
if(ID == st[i].ID)
{
find = true;
boolean flg = true;
while(flg)
{
st[i].run(st);
System.out.printf("是否退出 _> Y\n");
String cmd = sc.next();
if(cmd.equals("Y"))
{
flg = false;
}
}
break;
}
}
if(find == false)
{
System.out.printf("ID无法匹配.");
}
}
}
//1:class 银行职员对象
class Cust
{
Scanner sc = new Scanner(System.in);
String name;
int ID;
int pwd;
double m;//钱
void gM()
{
System.out.println("请输入取款金额");
double mo = sc.nextDouble();
m-=mo;
}
void dM()
{
System.out.println("请输入存款金额");
double mo = sc.nextDouble();
m+=mo;
}
void print()
{
System.out.println(m);
}
void zZ(Cust st[])//传入数组参数
{
Scanner sc = new Scanner(System.in);
int ID = sc.nextInt();
System.out.println("请输入你要转账的账户");
boolean find = false;
for(int i = 0;i<st.length;i++)
{
if(ID == st[i].ID)
{
find = true;
System.out.println("请输入转账金额");
double mo = sc.nextDouble();
st[i].m +=mo;
m-=mo;
break;
}
}
if(!find)
{
System.out.println("查无此人");
}
}
void run(Cust st[])
{
System.out.printf("****取款\t1****\n");
System.out.printf("****存款\t2****\n");
System.out.printf("****转账\t3****\n");
System.out.printf("****查询\t4****\n");
System.out.printf("****退出\t5****\n");
int cmd = sc.nextInt();
switch(cmd)
{
case 1:
gM();
break;
case 2:
dM();
break;
case 3:
zZ(st);
break;
case 4:
print();
break;
case 0:
return;
default:
break;
}
}
}
5:+密码 +5键退出改进 return; ->System.exit(1);
import java.util.Scanner;
public class Main
{
public static void main(String[] args)
{
Scanner sc = new Scanner(System.in);
Cust st[] = new Cust[2];
st[0] = new Cust();//初始化要记得写
st[1] = new Cust();
st[0].name = "张晓红";
st[0].ID = 111;
st[0].pwd = 123456;
st[0].m = 1000;
st[1].name = "张晓丽";
st[1].ID = 222;
st[1].pwd = 123456;
st[1].m = 10000;
System.out.printf("请输入账号ID:\n");
int ID = sc.nextInt();
boolean find = false;
for (int i = 0;i<st.length;i++)
{
if(ID == st[i].ID)
{
find = true;
System.out.println("请输入密码!");
int password = sc.nextInt();
if(password == st[i].pwd)
{
System.out.println("密码正确,欢迎!");
boolean flg = true;
while(flg)
{
st[i].run(st);
System.out.printf("是否退出 _> Y\n");
String cmd = sc.next();
if(cmd.equals("Y"))
{
flg = false;
}
}
}
else
{
System.out.println("密码输入错误,退出");
}
break;
}
}
if(find == false)
{
System.out.printf("ID无法匹配.");
}
}
}
//1:class 银行职员对象
class Cust
{
Scanner sc = new Scanner(System.in);
String name;
int ID;
int pwd;
double m;//钱
void gM()
{
System.out.println("请输入取款金额");
double mo = sc.nextDouble();
m-=mo;
}
void dM()
{
System.out.println("请输入存款金额");
double mo = sc.nextDouble();
m+=mo;
}
void print()
{
System.out.println(m);
}
void zZ(Cust st[])//传入数组参数
{
Scanner sc = new Scanner(System.in);
System.out.println("请输入你要转账的账户");
int ID = sc.nextInt();
boolean find = false;
for(int i = 0;i<st.length;i++)
{
if(ID == st[i].ID)
{
find = true;
System.out.println("请输入转账金额");
double mo = sc.nextDouble();
st[i].m +=mo;
m-=mo;
break;
}
}
if(!find)
{
System.out.println("查无此人");
}
}
void run(Cust st[])
{
System.out.printf("****取款\t1****\n");
System.out.printf("****存款\t2****\n");
System.out.printf("****转账\t3****\n");
System.out.printf("****查询\t4****\n");
System.out.printf("****退出\t5****\n");
int cmd = sc.nextInt();
switch(cmd)
{
case 1:
gM();
break;
case 2:
dM();
break;
case 3:
zZ(st);
break;
case 4:
print();
break;
case 5:
System.exit(1);
default:
break;
}
}
}
6:+取款合理性,转账合理性
import java.util.Scanner;
public class Main
{
public static void main(String[] args)
{
Scanner sc = new Scanner(System.in);
Cust st[] = new Cust[2];
st[0] = new Cust();//初始化要记得写
st[1] = new Cust();
st[0].name = "张晓红";
st[0].ID = 111;
st[0].pwd = 123456;
st[0].m = 1000;
st[1].name = "张晓丽";
st[1].ID = 222;
st[1].pwd = 123456;
st[1].m = 10000;
System.out.printf("请输入账号ID:\n");
int ID = sc.nextInt();
boolean find = false;
for (int i = 0;i<st.length;i++)
{
if(ID == st[i].ID)
{
find = true;
System.out.println("请输入密码!");
int password = sc.nextInt();
if(password == st[i].pwd)
{
System.out.println("密码正确,欢迎!");
boolean flg = true;
while(flg)
{
st[i].run(st);
System.out.printf("是否退出 _> Y\n");
String cmd = sc.next();
if(cmd.equals("Y"))
{
flg = false;
}
}
}
else
{
System.out.println("密码输入错误,退出");
}
break;
}
}
if(find == false)
{
System.out.printf("ID无法匹配.");
}
}
}
//1:class 银行职员对象
class Cust
{
Scanner sc = new Scanner(System.in);
String name;
int ID;
int pwd;
double m;//钱
void gM()
{
System.out.println("请输入取款金额");
double mo = sc.nextDouble();
if(m-mo > 0)
{
System.out.println("转账成功!");
m-=mo;
}
else
{
System.out.println("账户余额不足,转账失败!");
}
}
void dM()
{
System.out.println("请输入存款金额");
double mo = sc.nextDouble();
m+=mo;
}
void print()
{
System.out.println(m);
}
void zZ(Cust st[])//传入数组参数
{
Scanner sc = new Scanner(System.in);
int ID = sc.nextInt();
System.out.println("请输入你要转账的账户");
boolean find = false;
for(int i = 0;i<st.length;i++)
{
if(ID == st[i].ID)
{
find = true;
System.out.println("请输入转账金额");
double mo = sc.nextDouble();
if(m-mo > 0)
{
System.out.println("转账成功!");
m-=mo;
st[i].m +=mo;
}
else
{
System.out.println("账户余额不足,转账失败!");
}
break;
}
}
if(!find)
{
System.out.println("查无此人");
}
}
void run(Cust st[])
{
System.out.printf("****取款\t1****\n");
System.out.printf("****存款\t2****\n");
System.out.printf("****转账\t3****\n");
System.out.printf("****查询\t4****\n");
System.out.printf("****退出\t5****\n");
int cmd = sc.nextInt();
switch(cmd)
{
case 1:
gM();
break;
case 2:
dM();
break;
case 3:
zZ(st);
break;
case 4:
print();
break;
case 5:
System.exit(1);
default:
break;
}
}
}
7:第二次完整写一遍,练手,熟练代码
import java.util.Scanner;
public class Main
{
public static void main(String[] args)
{
Scanner sc = new Scanner(System.in);
Cust st[] = new Cust[4];
st[0] = new Cust();
st[1] = new Cust();
st[0].name = "张晓红";
st[0].ID = 111;
st[0].pwd = 123456;
st[0].m = 1000;
st[1].name = "张晓丽";
st[1].ID = 222;
st[1].pwd = 1234567;
st[1].m = 10000;
System.out.println("请输入您的账户!");
int ID = sc.nextInt();
boolean find = false;
for(int i = 0 ;i < st.length; i++)
{
if(ID == st[i].ID)
{
find = true;
System.out.println("请输入密码!");
int password = sc.nextInt();
if(password == st[i].pwd)
{
boolean flg = true;
System.out.println("登入账户成功!");
while(flg)
{
st[i].run(st);
System.out.println("输入_> Y 退出!");
String cmd = sc.next();
if(cmd.equals("Y"))
{
flg = false;
}
}
}
break;
}
}
if(!find) System.out.println("查无此用户!");
}
}
class Cust
{
int ID;
double m;
int pwd;
String name;
void dM()
{
Scanner sc = new Scanner(System.in);
System.out.println("请输入要转账的金额!");
double mo = sc.nextDouble();
m+=mo;
System.out.println("存款成功!");
}
void gM()
{
Scanner sc = new Scanner(System.in);
System.out.println("请输入需要取出的金额!");
double mo = sc.nextDouble();
if(m - mo > 0)
{
m-=mo;
System.out.println("取款成功!");
}
else
{
System.out.println("取款失败,余额不足!");
}
}
void print()
{
System.out.println("您当前余额为:" + m);
}
void zZ(Cust st[])
{
Scanner sc = new Scanner(System.in);
System.out.println("请输入您需要转账的对象账户!");
int ID = sc.nextInt();
boolean find = false;
for(int i = 0 ;i < st.length; i++)
{
if(st[i].ID == ID)
{
find = true;
System.out.println("请输入您需要转账的金额!");
double mo = sc.nextDouble();
if(m - mo > 0)
{
m -= mo;
st[i].m += mo;
System.out.println("转账成功!");
}
else
{
System.out.println("余额不足,转账失败!");
}
break;
}
}
if(!find)
{
System.out.println("查无此用户!");
}
}
void run(Cust st[])
{
Scanner sc = new Scanner(System.in);
System.out.println("****存钱\t1****");
System.out.println("****取钱\t2****");
System.out.println("****查询\t3****");
System.out.println("****转账\t4****");
System.out.println("****退出\t5****");
int cmd = sc.nextInt();
switch(cmd)
{
case 1:
dM();
break;
case 2:
gM();
break;
case 3:
print();
break;
case 4:
zZ(st);
break;
case 5:
System.exit(1);
default:
break;
}
}
}