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(“请收集收件人…”); } } }
无论我输入的pin码或pin码是什么(即使是正确的),我都会收到信息“错误的卡号或pin码”,并且它还会向我询问卡号和pin码twicATM项目,逻辑错误 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
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...");
}
}
}