package zuoye.lovo12;
import java.util.Scanner;
public class Atm
{
public static void main(String[] args)
{
System.out.println("请输入密码:");
int i=0;
do{

Scanner sc = new Scanner(System.in);
int a = sc.nextInt();
int b = 123;
if(a==b){
System.out.println("你密码正确");
System.out.print("1.查询余额  ");
System.out.print("2.存入  ");
System.out.print("3.取出  ");
System.out.println("4.声请转账  ");

for(int j=0;j<=2;j++){
int c = sc.nextInt();
switch(c){
case 1:System.out.println("你的余额还有0");break;
    case 2:System.out.println("最多可以存入1亿万");break;
    case 3:System.out.println("你最多可以取出1分钱");break;
    case 4:System.out.println("你只可以转账到5252527");break;
    default:System.out.println("因为你按错了数字,所以已经没有钱了");

    }
}
break;

}
else{
System.out.println("密码不正确,请重新输入");
i++;
}
}while(i<=2);
}
}
请哪位高手帮帮忙!!

解决方案 »

  1.   

    是这样不
    package org.ybygjy.temp;import java.util.Scanner;
    /**
     * Test ATM
     * @author Mr.wyc
     * @date 2009-5-30
     */
    public class Atm {
        /**
         * None args Constructor
         */
        public Atm() {
            doService();
        }
        /**
         * portal
         * @param args arguments list
         */
        public static void main(String[] args) {
            Atm atmObj = new Atm();
        }
        /**
         * do logIn
         * @param step 密码重试次数
         * @return logInFlag 登陆标记 true/false
         */
        private boolean doLogIn(int step) {
            System.out.println("请输入密码:");
            boolean logInFlag = false;
            Scanner sc = new Scanner(System.in);
            for (int i = 0; i < step; i++) {
                int a = sc.nextInt();
                if (123 == a) {
                    logInFlag = true;
                    break;
                }
                a = (step - (i + 1));
                if (a > 0) {
                    System.out.println("请输入密码,您还有" + a + "次机会!");
                }
            }
            if (!logInFlag) {
                System.out.println("您可能忘记密码了,为保障账户安全该账户已锁定,请联系管理员。");
            }
            return logInFlag;
        }
        /**
         * start service
         */
        private void doService() {
            Scanner sc = new Scanner(System.in);
            if (doLogIn(2)) {
                System.out.println("登陆成功,请选择操作。");
                System.out.print("1.查询余额\t");
                System.out.print("2.存入\t");
                System.out.print("3.取出\t");
                System.out.print("4.审请转账\t");
                System.out.print("5.退出\n");
                for (int j = 0; j <= 2;) {
                    int c = sc.nextInt();
                    switch (c) {
                    case 1:
                        System.out.println("你的余额还有0");
                        break;
                    case 2:
                        System.out.println("最多可以存入1亿万");
                        break;
                    case 3:
                        System.out.println("你最多可以取出1分钱");
                        break;
                    case 4:
                        System.out.println("你只可以转账到5252527");
                        break;
                    case 5:
                        System.out.println("走好。。");
                        System.exit(1);
                    default:
                        System.out.println("因为你按错了数字,所以已经没有钱了");
                    }
                    continue;
                }
            }
        }
    }
      

  2.   

    实现了一下,顺路帮忙。
    import java.util.Scanner; 
    public class Atm 

    public void test()
    {
    System.out.println("请输入密码:");
    do

    Scanner sc = new Scanner(System.in); 
    int a = sc.nextInt(); 
    int b = 123; 
    if(a==b)

    System.out.println("密码正确"); 
    System.out.println("1.查询余额 2.存入 3.取出 4.申请转账 5.退出");
    int c = sc.nextInt(); 
    switch(c)

    case 1:
    System.out.println("你的余额还有0");
    break; 
        case 2:
         System.out.println("最多可以存入1亿万");
         break; 
        case 3:
         System.out.println("你最多可以取出1分钱");
         break; 
        case 4:
         System.out.println("你只可以转账到5252527");
         break;
        case 5:     
         break; 
        default:System.out.println("因为你按错了数字,所以已经没有钱了"); 
      }
    }
    else

    System.out.println("密码不正确,请重新输入");      
    if(counter==3)
    {
    System.out.println("对不起,输入达到最大值");
    break; 
    }
    counter++;  //控制输入次数 
    test();

     }while(flag); 
    }
    public static void main(String[] args) 
    {
    (new Atm()).test();
    }  
    private int counter = 1;  //最多可重复输入三次
    private boolean flag = false;
    }