public class Pen
{
public static void main(String[] args)
{
Atm a=new Atm();
a.dl();
}
}
public class Ka
{
//卡着对象的属性 id 密码 余额
int [] a={111222,222111};
String [] b={"111111","222222"};
int [] y={20000,30000};
public String mi(int i)
{
int j=0;
for(;j<a.length;j++)
{
if(a[j]==i)
{
break;
}
else
{
if(j==a.length-1)
{
System.out.println("帐号有误");
Atm cc=new Atm();
cc.dl();
}
}
}
return b[j];
}
public int ye(int i)
{
int j;
for(j=0;j<a.length;j++)
{
if(a[j]==i)
{
break;
}
}
return y[j];
}
}
import java.util.Scanner;
public class Atm
{
Scanner put=new Scanner(System.in);
public String zjm="1.取款2.查询3.转账4.退出";
public String mi="密码错误请重新输入";
public String mt="三次密码错误,系统退出";
public String ka="请输入你的卡号";
public String mm="请输入你的密码";
public String kaw="卡号错误"; public String ye="余额不足";
public String je="请输入你的要取的金额";
public String je1="操作成功你的余额为:";
public String je2="按1继续操作,任意键返回主菜单"; public String zz="请输入你的帐号";
public String zz1="请输入要转账的金额";
public String zz2="帐号不对";
public String zz3="1继续操作任意键返回";
public static int my;
public static String pass;
//输入方法
public String ssr()
{
String i=put.next();
return i;
}
public int isr()
{
int i=put.nextInt();
return i;
}
//输出方法
public void sc(String s)
{
System.out.println(s);
}
public void sc(int s)
{
System.out.println(s);
}
//登陆判断
public boolean pd(String i)
{
return pass.equals(i)||i.length()==18?true:false;
}
public boolean pdzz(String i)
{
return i.length()==18?true:false;
}
public boolean pd(int i)
{
return i<my?true:false;
}
//登陆方法
public void dl()
{
int x=0;
sc(ka);
Ka ka=new Ka();
int num=isr();
pass=ka.mi(num);
my=ka.ye(num);
sc(mm);
while(true)
{
if(pd(ssr()))
{
zjm();
break;
}
else
{
x++;
if(x>=3)
{
sc(mt);
break;
}
sc(mi);
}
}
}
//主菜单 功能入口
public void zjm()
{
sc(zjm);
switch(isr())
{
case 1:qu();break;
case 2:ye();break;
case 3:zz();break;
case 4:System.exit(0);break;
default : ;break;
}
}
//取款
public void qu()
{
sc(je);
int i=isr();
if(pd(i))
{
my=my-i;
sc(je1);
sc(my);
sc(je2);
switch(isr())
{
case 1:qu();break;
default:zjm();break;
}
}
else
{
sc(ye);
sc(je2);
switch(isr())
{
case 1:qu();break;
default:zjm();break;
}
}
}
//查询余额的方法
public void ye()
{
sc(je1);
sc(my);
zjm();
}
//转账
public void zz()
{
sc(zz);
if(pdzz(ssr()))
{
sc(zz1);
int i=isr();
if(pd(i))
{
my=my-i;
sc(je1);
sc(my);
zzf();
}
else
{
sc(ye);
zzf();
}
}
else
{
sc(zz2);
zzf();
}
}
//转账返回
public void zzf()
{
sc(zz3);
switch(isr())
{
case 1:zz();break;
default:zjm();break;
}
}
}
{
public static void main(String[] args)
{
Atm a=new Atm();
a.dl();
}
}
public class Ka
{
//卡着对象的属性 id 密码 余额
int [] a={111222,222111};
String [] b={"111111","222222"};
int [] y={20000,30000};
public String mi(int i)
{
int j=0;
for(;j<a.length;j++)
{
if(a[j]==i)
{
break;
}
else
{
if(j==a.length-1)
{
System.out.println("帐号有误");
Atm cc=new Atm();
cc.dl();
}
}
}
return b[j];
}
public int ye(int i)
{
int j;
for(j=0;j<a.length;j++)
{
if(a[j]==i)
{
break;
}
}
return y[j];
}
}
import java.util.Scanner;
public class Atm
{
Scanner put=new Scanner(System.in);
public String zjm="1.取款2.查询3.转账4.退出";
public String mi="密码错误请重新输入";
public String mt="三次密码错误,系统退出";
public String ka="请输入你的卡号";
public String mm="请输入你的密码";
public String kaw="卡号错误"; public String ye="余额不足";
public String je="请输入你的要取的金额";
public String je1="操作成功你的余额为:";
public String je2="按1继续操作,任意键返回主菜单"; public String zz="请输入你的帐号";
public String zz1="请输入要转账的金额";
public String zz2="帐号不对";
public String zz3="1继续操作任意键返回";
public static int my;
public static String pass;
//输入方法
public String ssr()
{
String i=put.next();
return i;
}
public int isr()
{
int i=put.nextInt();
return i;
}
//输出方法
public void sc(String s)
{
System.out.println(s);
}
public void sc(int s)
{
System.out.println(s);
}
//登陆判断
public boolean pd(String i)
{
return pass.equals(i)||i.length()==18?true:false;
}
public boolean pdzz(String i)
{
return i.length()==18?true:false;
}
public boolean pd(int i)
{
return i<my?true:false;
}
//登陆方法
public void dl()
{
int x=0;
sc(ka);
Ka ka=new Ka();
int num=isr();
pass=ka.mi(num);
my=ka.ye(num);
sc(mm);
while(true)
{
if(pd(ssr()))
{
zjm();
break;
}
else
{
x++;
if(x>=3)
{
sc(mt);
break;
}
sc(mi);
}
}
}
//主菜单 功能入口
public void zjm()
{
sc(zjm);
switch(isr())
{
case 1:qu();break;
case 2:ye();break;
case 3:zz();break;
case 4:System.exit(0);break;
default : ;break;
}
}
//取款
public void qu()
{
sc(je);
int i=isr();
if(pd(i))
{
my=my-i;
sc(je1);
sc(my);
sc(je2);
switch(isr())
{
case 1:qu();break;
default:zjm();break;
}
}
else
{
sc(ye);
sc(je2);
switch(isr())
{
case 1:qu();break;
default:zjm();break;
}
}
}
//查询余额的方法
public void ye()
{
sc(je1);
sc(my);
zjm();
}
//转账
public void zz()
{
sc(zz);
if(pdzz(ssr()))
{
sc(zz1);
int i=isr();
if(pd(i))
{
my=my-i;
sc(je1);
sc(my);
zzf();
}
else
{
sc(ye);
zzf();
}
}
else
{
sc(zz2);
zzf();
}
}
//转账返回
public void zzf()
{
sc(zz3);
switch(isr())
{
case 1:zz();break;
default:zjm();break;
}
}
}
//卡着对象的属性 id 密码 余额
int [] a={111222,222111};应该用属性来取代数组,比如这个可以设计成为:private int id;
private String password;
private int balance;如果用数组的话 a[0], a[1] 基本上没人会知道这些代表什么2:菜单方面。菜单项和菜单项处理逻辑都写在了一起,如果今后要再增加一个菜单项,那代码就得重新改动了。建议:使用 XML 配置文件进行菜单项的配置,使用命令模式来处理菜单逻辑。这样的话,以后要增加一个菜单项,只要在 XML 配置中增加一个新的,再增加一个实现命令接口的类就可以了,呵呵。
用那个把你代码格式化下
import java.util.Scanner;
public class Atm
{
Scanner put=new Scanner(System.in);
public String zjm="1.取款2.查询3.转账4.退出";
public String mi="密码错误请重新输入";
public String mt="三次密码错误,系统退出";
public String ka="请输入你的卡号";
public String mm="请输入你的密码";
public String kaw="卡号错误"; public String ye="余额不足";
public String je="请输入你的要取的金额";
public String je1="操作成功你的余额为:";
public String je2="按1继续操作,任意键返回主菜单"; public String zz="请输入你的帐号";
public String zz1="请输入要转账的金额";
public String zz2="帐号不对";
public String zz3="1继续操作任意键返回";
public static int my;
public static String pass;
//输入方法
public String ssr()
{
String i=put.next();
return i;
}
public int isr()
{
int i=put.nextInt();
return i;
}
//输出方法
public void sc(String s)
{
System.out.println(s);
}
public void sc(int s)
{
System.out.println(s);
}
//登陆判断
public boolean pd(String i)
{
return pass.equals(i)||i.length()==18?true:false;
}
public boolean pdzz(String i)
{
return i.length()==18?true:false;
}
public boolean pd(int i)
{
return i<my?true:false;
}
//登陆方法
public void dl()
{
int x=0;
sc(ka);
Ka ka=new Ka();
int num=isr();
pass=ka.mi(num);
my=ka.ye(num);
sc(mm);
while(true)
{
if(pd(ssr()))
{
zjm();
break;
}
else
{
x++;
if(x>=3)
{
sc(mt);
break;
}
sc(mi);
}
}
}
//主菜单 功能入口
public void zjm()
{
sc(zjm);
switch(isr())
{
case 1:qu();break;
case 2:ye();break;
case 3:zz();break;
case 4:System.exit(0);break;
default : ;break;
}
}
//取款
public void qu()
{
sc(je);
int i=isr();
if(pd(i))
{
my=my-i;
sc(je1);
sc(my);
sc(je2);
switch(isr())
{
case 1:qu();break;
default:zjm();break;
}
}
else
{
sc(ye);
sc(je2);
switch(isr())
{
case 1:qu();break;
default:zjm();break;
}
}
}
//查询余额的方法
public void ye()
{
sc(je1);
sc(my);
zjm();
}
//转账
public void zz()
{
sc(zz);
if(pdzz(ssr()))
{
sc(zz1);
int i=isr();
if(pd(i))
{
my=my-i;
sc(je1);
sc(my);
zzf();
}
else
{
sc(ye);
zzf();
}
}
else
{
sc(zz2);
zzf();
}
}
//转账返回
public void zzf()
{
sc(zz3);
switch(isr())
{
case 1:zz();break;
default:zjm();break;
}
}
}
public class Ka
{
//卡着对象的属性 id 密码 余额
int [] a={111222,222111};
String [] b={"111111","222222"};
int [] y={20000,30000};
public String mi(int i)
{
int j=0;
for(;j<a.length;j++)
{
if(a[j]==i)
{
break;
}
else
{
if(j==a.length-1)
{
System.out.println("帐号有误");
Atm cc=new Atm();
cc.dl();
}
}
}
return b[j];
}
public int ye(int i)
{
int j;
for(j=0;j<a.length;j++)
{
if(a[j]==i)
{
break;
}
}
return y[j];
}
}
public class Pen
{
public static void main(String[] args)
{
Atm a=new Atm();
a.dl();
}
}
你要某高手帮你优化,如果是按你的程序来的话最多,就是帮你精简点命令,多用点函数。这种优化,大多数高手们都不愿意来着~~~~~~~~~~
真要按高手们的思想优化的话~~~~~~~~~~~你就去网上下载SQL.XML·······
还要配置安装新的数据库,何况你没用过。不知道又会出多少新问题~~~~~~~~复杂了去了~~~~~~~
不过要是真有比较心地善良的好人~~~~~~~
按你的程序帮你修改的话~~~~~~恩,恭喜你~~~~~~~~~
你运气真不错~~~~~~~~~~~~