今天主要学习了构造方法,主要是通过多用户ATM机的程序的方式去理解的这一个概念,程序如下:
package atmtest;
/**账号*/
public class User {
/**卡号*/
public String core;
/**密码*/
public String pwd;
/**金额*/
public int money;
/**构造方法*/
public User(String c,String p,int m){
core =c;
pwd =p;
money=m;
}
/**方法*/
public User(){
}
}
package atmtest;
public class test {
public static void main(String[] args) {
ATM a=new ATM();
}
}
package atmtest;
import javax.swing.JOptionPane;
public class ATM {
/**新建已有的账号数组*/
public User[] users={new User("123","123",6000),new User("456","456",8000),new User("789","789",10000)};
/**当前账号*/
public User currentuser;
/**构造方法*/
public ATM(){
JOptionPane.showMessageDialog(null, "欢迎光临***银行");
currentuser=login();
if(currentuser==null){
JOptionPane.showMessageDialog(null,"非法用户");
}
while(true){
String s =JOptionPane.showInputDialog(null,"1、取款\n2、存款\n3、查询余额\n4、退卡");
int x =Integer.parseInt(s);
switch(x){
case 1:
getmoney();
break;
case 2:
break;
case 3:
break;
case 4:
JOptionPane.showMessageDialog(null, "退卡");
System.exit(0);
default:
JOptionPane.showMessageDialog(null, "请输入正确的选项");
break;
}
}
}
public User login(){
for(int i=0;i<3;i++){
String name = JOptionPane.showInputDialog(null,"请输入用户名");
String pwd =JOptionPane.showInputDialog(null,"请输入密码");
for(int j=0;j<users.length;j++){
if(users[j].core.equals(name) && users[j].pwd.equals(pwd) ){
return users[j];
}
}
JOptionPane.showMessageDialog(null, "输入错误,请从新输入");
}
return null;
}
/**取款*/
public void getmoney(){
String s =JOptionPane.showInputDialog(null,"请输入取款金额");
int h =Integer.parseInt(s);
if(h>currentuser.money){
JOptionPane.showMessageDialog(null, "余额不足");
}
currentuser.money-=h;
}
/**存款*/
public void savemoney(){
String s =JOptionPane.showInputDialog(null,"请输入存款金额");
int e=Integer.parseInt(s);
currentuser.money+=e;
}
/**显示*/
public void show(){
JOptionPane.showMessageDialog(null, "余额是:"+currentuser.money);
}
}