因为刚学java,老师只留了一个很简单的作业
题目:设计一个类似于ATM取款机的机制,首先要求输入密码,如果错三次,系统退出,如果三次之内正确,则继续进行,可以选择语言"中文"或"english",然后继续,也就是说进入下一个菜单,可以选择 1 "get monry" 2 "account" 3 "change password" 4 "exit"
就是设计一个这样的步骤,下面是我写出来的,请教各位此程序如何改进才能更能体现面向对象的思想,如果各位,这个题目该如何编写呢?
import java.io.*;
public class ATM { ATM bank = new ATM();
public static void main(String[] args) throws IOException {
int i = 0;
int password = getPWD(); while(password!=123456){
System.out.println("wrong password!!!");
i++;
if(i==3) {
System.out.println("3 times wrong,bye");
System.exit(0);
}
password = getPWD();
}
System.out.println("welcome,please choose");
System.out.println("1-Chinese");
System.out.println("2-English");
System.out.println("请选择语言");
int lan = getPWD();
switch(lan){
case 1:
System.out.println("取钱");
System.out.println("修改密码");
System.out.println("存钱");
System.out.println("退出");
break;
case 2:
System.out.println("get money");
System.out.println("change password");
System.out.println("account");
System.out.println("exit");
break;
题目:设计一个类似于ATM取款机的机制,首先要求输入密码,如果错三次,系统退出,如果三次之内正确,则继续进行,可以选择语言"中文"或"english",然后继续,也就是说进入下一个菜单,可以选择 1 "get monry" 2 "account" 3 "change password" 4 "exit"
就是设计一个这样的步骤,下面是我写出来的,请教各位此程序如何改进才能更能体现面向对象的思想,如果各位,这个题目该如何编写呢?
import java.io.*;
public class ATM { ATM bank = new ATM();
public static void main(String[] args) throws IOException {
int i = 0;
int password = getPWD(); while(password!=123456){
System.out.println("wrong password!!!");
i++;
if(i==3) {
System.out.println("3 times wrong,bye");
System.exit(0);
}
password = getPWD();
}
System.out.println("welcome,please choose");
System.out.println("1-Chinese");
System.out.println("2-English");
System.out.println("请选择语言");
int lan = getPWD();
switch(lan){
case 1:
System.out.println("取钱");
System.out.println("修改密码");
System.out.println("存钱");
System.out.println("退出");
break;
case 2:
System.out.println("get money");
System.out.println("change password");
System.out.println("account");
System.out.println("exit");
break;
解决方案 »
- 求两日期间隔的自然年,自然月,日然天
- 包的问题
- 请问;怎样用JavaScript语言提取file输入框中文件的后缀?急!
- 用JDK可以给手机发短消息吗? 如果可以该怎么实现
- java中怎样按照big endian输出
- 请指点!谢谢!
- 寻找软件
- 关于Oracle BLOB类型,一个String字符怎么写入BLOB字段?
- jdbc(thin)连ORACLE816问题!求救!!!!
- 做程序员还不如去开个店子卖点烟酒零食算了,郁闷,送分,送完为止(2)
- 十万火急,碰到一个很麻烦的问题,要不然我这个项目没法完成啦!(100分求大家)
- 请教(正则表达式)用 正则表达式可以做到 查找一个字符串在另外个字符串中出现的次数吗?
public class ATM { ATM bank = new ATM();
public static void main(String[] args) throws IOException {
int i = 0;
int password = getPWD(); while(password!=123456){
System.out.println("wrong password!!!");
i++;
if(i==3) {
System.out.println("3 times wrong,bye");
System.exit(0);
}
password = getPWD();
}
System.out.println("welcome,please choose");
System.out.println("1-Chinese");
System.out.println("2-English");
System.out.println("请选择语言");
int lan = getPWD();
switch(lan){
case 1:
System.out.println("取钱");
System.out.println("修改密码");
System.out.println("存钱");
System.out.println("退出");
break;
case 2:
System.out.println("get money");
System.out.println("change password");
System.out.println("account");
System.out.println("exit");
break;
}
}
public static int getPWD () throws IOException{
InputStreamReader isr = new InputStreamReader(System.in);
BufferedReader br = new BufferedReader(isr);
String s = br.readLine();
return Integer.parseInt(s);
}}
import java.io.IOException;
import java.io.InputStreamReader;public class ATM { public static void main(String[] args) throws IOException {
ATM bank = new ATM();
int password = bank.getPWD();
bank.selectLanguage(password);
int lan = bank.getPWD();
bank.atmMenu(lan);
} private void selectLanguage(int password) {
int i = 0;
while (password != 123456) { System.out.println("wrong password!!!");
i++;
if (i == 3) {
System.out.println("3 times wrong,bye");
System.exit(0);
}
}
System.out.println("welcome,please choose");
System.out.println("1-Chinese");
System.out.println("2-English");
System.out.println("Select Language");
} private void atmMenu(int lan) {
switch (lan) {
case 1:
System.out.println("1get money");
System.out.println("1change password");
System.out.println("1account");
System.out.println("1exit");
break;
case 2:
System.out.println("2get money");
System.out.println("2change password");
System.out.println("2account");
System.out.println("2exit");
break;
}
} private int getPWD() throws IOException {
InputStreamReader isr = new InputStreamReader(System.in);
BufferedReader br = new BufferedReader(isr);
String s = br.readLine();
return Integer.parseInt(s);
}}
private int getPWD() throws IOException {
InputStreamReader isr = new InputStreamReader(System.in);
BufferedReader br = new BufferedReader(isr);
String s = br.readLine();
return Integer.parseInt(s);
}Integer.parseInt(s)这里有个转换异常(NumberFormatException)需捕捉(当s不为数字字符串时)
ATM机-对象
目录一对象
语言类型-对象
账号-对象
客户-对象