ATM项目,逻辑错误 import java.text.simpleDataFormat; 导入java.util.*; 导入java.io.*; 公共级自动取款机{ 字符串名[]={“Nikhil”、“Sam”、“Raj”、“Saron”、“Abi”、“Adi”}; int卡[]={180697812446685769124765830165713545155499}; int引脚[]={44443333222211116667988}; 整数余额[]={10000、23345、24673、37532、43637、37356}; 扫描仪s=新的扫描仪(System.in); int f,ch,z=0; 静态int opt=0; 公共静态void main(字符串参数[]){ int enter=0; ATM k=新的ATM(); k、 信息(); k、 登录(回车); int temp=k.login(输入); 如果(输入==1){ k、 菜单(临时); }否则{ System.out.println(“错误的卡号或pincode”); } } 无效信息(){ 日历日历=Calendar.getInstance(); SimpleDataFormat dateformatter=新的SimpleDataFormat(“dd-eeee”,“yyyy”); SimpleDataFormat timeformatter=新的SimpleDataFormat(“hh:mm:ss a”); System.out.println(“”); System.out.println(“*******************************************************************************************************************”); System.out.println(“***汇丰的ATM***”); System.out.println(“*******************************************************************************************************************”); System.out.println(“Date-”+dateformatter.format(calender.getTime()); System.out.println(“Time-”+timeformatter.format(calender.getTime()); System.out.println(“*******************************************************************************************************************”); System.out.println(“”); } int登录(int回车){ System.out.println(“>>输入卡号-”; int card_no=s.nextInt(); System.out.println(“>>输入pin号-”; int pin_no=s.nextInt(); 对于(int i=0;ibalance[z]){ System.out.println(“您的帐户中没有足够的余额。”); k、 菜单(临时); 对于(z=1;z25000){ System.out.println(“提取现金的每日限额为25000卢比”); k、 菜单(临时); }否则{ 余额[z]=余额[z]-金额; System.out.println(“”); System.out.println(“您已从您的帐户中提取了“+amount+”卢比”); System.out.println(“请取现金”); 系统输出打印项次(“当前余额-卢比”+余额[z]); System.out.println(::::::::::::::::::::::::::::::); } 打破 案例2: int fast[]={10050010005000}; System.out.println(“==============================================”); System.out.println(“快速现金提取”); System.out.println(“==============================================”); System.out.println(“请选择所需金额”); 系统输出打印号(“(1)Rs.100”); 系统输出打印号(“(2)Rs.500”); 系统输出打印项次(“3)卢比1000”); 系统输出打印项次(“4)卢比5000”); System.out.print(“您的选择?”); ch=s.nextInt(); if(快速[ch-1]>平衡[z]) { System.out.println(“您的帐户中没有足够的余额。”); }否则{ 开关(ch) { 案例1: 平衡[z]=平衡[z]-快速[ch-1]; 打破 案例2: 平衡[z]=平衡[z]-快速[ch-1]; 打破 案例3: 平衡[z]=平衡[z]-快速[ch-1]; 打破 案例4: 平衡[z]=平衡[z]-快速[ch-1]; 打破 } } System.out.println(“”); System.out.println(“您已从您的账户中提取卢比“+快速[ch-1]”); System.out.println(“请取现金”); 系统输出打印项次(“当前余额-卢比”+余额[z]); System.out.println(::::::::::::::::::::::::::::::); 打破 案例3: System.out.println(“==============================================”); 系统输出打印项次(“现金存款”); System.out.println(“==============================================”); 系统输出打印(“输入存款金额-卢比”); int deposite=s.nextInt(); System.out.println(::::::::::::::::::::::::::::::); System.out.println(“请稍候,我们正在处理您的请求…”); System.out.println(“”); System.out.println(“您已将“+存款+”卢比存入您的账户。”); System.out.println(“金额将很快贷记”); 系统输出打印项次(“当前余额-卢比”+余额[z]+“+卢比”+存款人); System.out.println(::::::::::::::::::::::::::::::); 打破 案例4: System.out.println(“==============================================”); 系统输出打印项次(“余额查询”); System.out.println(“==============================================”); 系统输出打印项次(“账号-”+卡[z]); 系统输出打印项次(“可用余额-卢比”+余额[z]); System.out.println(::::::::::::::::::::::::::::::); System.out.println(“请收集收件人…”); } } }

ATM项目,逻辑错误 import java.text.simpleDataFormat; 导入java.util.*; 导入java.io.*; 公共级自动取款机{ 字符串名[]={“Nikhil”、“Sam”、“Raj”、“Saron”、“Abi”、“Adi”}; int卡[]={180697812446685769124765830165713545155499}; int引脚[]={44443333222211116667988}; 整数余额[]={10000、23345、24673、37532、43637、37356}; 扫描仪s=新的扫描仪(System.in); int f,ch,z=0; 静态int opt=0; 公共静态void main(字符串参数[]){ int enter=0; ATM k=新的ATM(); k、 信息(); k、 登录(回车); int temp=k.login(输入); 如果(输入==1){ k、 菜单(临时); }否则{ System.out.println(“错误的卡号或pincode”); } } 无效信息(){ 日历日历=Calendar.getInstance(); SimpleDataFormat dateformatter=新的SimpleDataFormat(“dd-eeee”,“yyyy”); SimpleDataFormat timeformatter=新的SimpleDataFormat(“hh:mm:ss a”); System.out.println(“”); System.out.println(“*******************************************************************************************************************”); System.out.println(“***汇丰的ATM***”); System.out.println(“*******************************************************************************************************************”); System.out.println(“Date-”+dateformatter.format(calender.getTime()); System.out.println(“Time-”+timeformatter.format(calender.getTime()); System.out.println(“*******************************************************************************************************************”); System.out.println(“”); } int登录(int回车){ System.out.println(“>>输入卡号-”; int card_no=s.nextInt(); System.out.println(“>>输入pin号-”; int pin_no=s.nextInt(); 对于(int i=0;ibalance[z]){ System.out.println(“您的帐户中没有足够的余额。”); k、 菜单(临时); 对于(z=1;z25000){ System.out.println(“提取现金的每日限额为25000卢比”); k、 菜单(临时); }否则{ 余额[z]=余额[z]-金额; System.out.println(“”); System.out.println(“您已从您的帐户中提取了“+amount+”卢比”); System.out.println(“请取现金”); 系统输出打印项次(“当前余额-卢比”+余额[z]); System.out.println(::::::::::::::::::::::::::::::); } 打破 案例2: int fast[]={10050010005000}; System.out.println(“==============================================”); System.out.println(“快速现金提取”); System.out.println(“==============================================”); System.out.println(“请选择所需金额”); 系统输出打印号(“(1)Rs.100”); 系统输出打印号(“(2)Rs.500”); 系统输出打印项次(“3)卢比1000”); 系统输出打印项次(“4)卢比5000”); System.out.print(“您的选择?”); ch=s.nextInt(); if(快速[ch-1]>平衡[z]) { System.out.println(“您的帐户中没有足够的余额。”); }否则{ 开关(ch) { 案例1: 平衡[z]=平衡[z]-快速[ch-1]; 打破 案例2: 平衡[z]=平衡[z]-快速[ch-1]; 打破 案例3: 平衡[z]=平衡[z]-快速[ch-1]; 打破 案例4: 平衡[z]=平衡[z]-快速[ch-1]; 打破 } } System.out.println(“”); System.out.println(“您已从您的账户中提取卢比“+快速[ch-1]”); System.out.println(“请取现金”); 系统输出打印项次(“当前余额-卢比”+余额[z]); System.out.println(::::::::::::::::::::::::::::::); 打破 案例3: System.out.println(“==============================================”); 系统输出打印项次(“现金存款”); System.out.println(“==============================================”); 系统输出打印(“输入存款金额-卢比”); int deposite=s.nextInt(); System.out.println(::::::::::::::::::::::::::::::); System.out.println(“请稍候,我们正在处理您的请求…”); System.out.println(“”); System.out.println(“您已将“+存款+”卢比存入您的账户。”); System.out.println(“金额将很快贷记”); 系统输出打印项次(“当前余额-卢比”+余额[z]+“+卢比”+存款人); System.out.println(::::::::::::::::::::::::::::::); 打破 案例4: System.out.println(“==============================================”); 系统输出打印项次(“余额查询”); System.out.println(“==============================================”); 系统输出打印项次(“账号-”+卡[z]); 系统输出打印项次(“可用余额-卢比”+余额[z]); System.out.println(::::::::::::::::::::::::::::::); System.out.println(“请收集收件人…”); } } },java,for-loop,logic,switch-statement,Java,For Loop,Logic,Switch Statement,无论我输入的pin码或pin码是什么(即使是正确的),我都会收到信息“错误的卡号或pin码”,并且它还会向我询问卡号和pin码twic import java.text.SimpleDateFormat; import java.util.*; import java.io.*; public class ATM { String names []= {"Nikhil", "Sam", "Raj", "Saron", "Abi", "Adi"}; int card[]={1806978,1244

无论我输入的pin码或pin码是什么(即使是正确的),我都会收到信息“错误的卡号或pin码”,并且它还会向我询问卡号和pin码twic
import java.text.SimpleDateFormat;
import java.util.*;
import java.io.*;
public class ATM {
String names []= {"Nikhil", "Sam", "Raj", "Saron", "Abi", "Adi"};
int card[]={1806978,1244668,5769124,7658301,6571354,5155499};
int pin[]={4444, 3333, 2222, 1111, 6666, 7988};
int balance []={10000, 23345, 24673, 37532, 43637, 37356};
Scanner s=new Scanner(System.in);
int f,ch, z=0;
static int opt=0;

public static void main(String args []) {
    int enter=0;
    ATM k=new ATM();
    k.info();
    k.login(enter);
    int temp=k.login(enter);
    if(enter==1){
        k.menu(temp);
    }else{
        System.out.println("Wrong card no. or pincode");
    }

}


   void info(){
   Calendar calender = Calendar.getInstance();
   SimpleDateFormat dateformatter = new SimpleDateFormat(" dd EEEEEEEEE',' yyyy ");
   SimpleDateFormat timeformatter = new SimpleDateFormat(" hh:mm:ss a");
   System.out.println("");
   System.out.println("                  ****************************************************************       ");
   System.out.println("                  ***                         HSBC's  ATM                     ***         ");
   System.out.println("                  ****************************************************************       ");
   System.out.println("                  Date - "+ dateformatter.format(calender.getTime()));
   System.out.println("                  Time - "+timeformatter.format(calender.getTime()));
   System.out.println("                  ****************************************************************       ");
   System.out.println("");
   }

    int login(int enter){
   System.out.println("                  >> Enter card number - ");
   int card_no=s.nextInt();
   System.out.println("                  >> Enter pin number - ");
   int pin_no= s.nextInt();
   for (int i=0;i<=5;i++){

    if (card [i]==card_no && pin[i]==pin_no)
           enter=1;
           z=i;

    }
   return z;
   }
void menu (int temp){
    System.out.println("                  Welcome "+names[temp]);
    System.out.println("                  Your Card no: is " + card[temp]);
    System.out.println("                  ###############################################        ");
    System.out.println("                  >>> [1]. Cash Withdrawal ");
    System.out.println("");
    System.out.println("                  >>> [2]. Fast Cash ");
    System.out.println("");
    System.out.println("                  >>> [3]. Cash Deposit ");

     opt=s.nextInt();

    switch (opt){
    case 1:
        Calendar calender = Calendar.getInstance();
        SimpleDateFormat dateformatter = new SimpleDateFormat(" dd'/'MM ");
        SimpleDateFormat timeformatter = new SimpleDateFormat(" HH:mm ");
        ATM k=new ATM();
        int ammount;
        System.out.println("                  ==========================  ");
        System.out.println("                  CASH WITHDRAWAL ");
        System.out.println("                  ==========================  ");
        System.out.print("                    Enter amount to withdraw - Rs.");
        ammount=s.nextInt();
        System.out.println("                  ::::::::::::::::::::::::::::::::::::::::::::::");
        System.out.println("                  Please wait while we process your request...");

 if (ammount>balance[z]){
        System.out.println("                  You do not have sufficient balance in your account.");
        k.menu(temp);
        for(z=1;z<=1000000000;z++)
        System.out.print("\f");
 }else if (ammount>25000){
        System.out.println("                  The daily limit for cash withdrawal is Rs.25000 .");
        k.menu(temp);
 }else{
        balance[z]=balance[z]-ammount;

        System.out.println("");
        System.out.println("                  You have withdrawn Rs."+ammount+" from your account.");
        System.out.println("                  Please collect the cash.");
        System.out.println("                  Current Balance - Rs."+balance[z]);
        System.out.println("                  ::::::::::::::::::::::::::::::::::::::::::::::");
       }
        break; 
    case 2:
        int fast[]={100,500,1000,5000};
        System.out.println("                  ==========================  ");
        System.out.println("                  FAST CASH WITHDRAWAL ");
        System.out.println("                  ==========================  ");
        System.out.println("                  Please select a desired amount.");
        System.out.println("                  (1) Rs. 100 ");
        System.out.println("                  (2) Rs. 500 ");
        System.out.println("                  (3) Rs. 1000 ");
        System.out.println("                  (4) Rs. 5000 ");
        System.out.print("                     Your choice ? ");
        ch=s.nextInt();
        if (fast[ch-1]>balance[z])
        {
        System.out.println("                  You do not have sufficient balance in your account.");
        }else{
            switch(ch)
            {
            case 1:
            balance[z]=balance[z]-fast[ch-1];
            break;
            case 2:
            balance[z]=balance[z]-fast[ch-1];
            break;
            case 3:
            balance[z]=balance[z]-fast[ch-1];
            break;
            case 4:
            balance[z]=balance[z]-fast[ch-1];
            break;
            }
        }
        System.out.println("");
        System.out.println("                  You have withdrawn Rs. "+fast[ch-1]+" from your account.");
        System.out.println("                  Please collect the cash.");
        System.out.println("                  Current Balance - Rs."+balance[z]);
        System.out.println("                  ::::::::::::::::::::::::::::::::::::::::::::::");
        break;
    case 3:
        System.out.println("                  ==========================  ");
        System.out.println("                  CASH DEPOSIT ");
        System.out.println("                  ==========================  ");
        System.out.print("                  Enter amount to deposit - Rs.");
        int deposite =s.nextInt();
        System.out.println("                  ::::::::::::::::::::::::::::::::::::::::::::::");
        System.out.println("                  Please wait while we process your request...");
        System.out.println("");
        System.out.println("                  You have deposited Rs."+deposite+" to your account.");
        System.out.println("                  The amount will be credited shortly.");
        System.out.println("                  Current Balance - Rs."+balance[z]+" + Rs."+deposite);
        System.out.println("                  ::::::::::::::::::::::::::::::::::::::::::::::");
        break;
    case 4:
        System.out.println("                  ==========================  ");
        System.out.println("                  BALANCE ENQUIRY ");
        System.out.println("                  ==========================  ");
        System.out.println("                  Account Number - "+card[z]);
        System.out.println("                  Available Balance - Rs."+balance[z]);
        System.out.println("                  ::::::::::::::::::::::::::::::::::::::::::::::");
        System.out.println("                  Please collect the reciept...");
  }
}
}