[英]getting this to repeat using a while loop. credit card validation
我的Java編程課程簡介幾乎已經完成了這個項目。 這是一個信用卡驗證程序。 我知道我快要完成了。 我需要做的就是詢問用戶是否要在第一個卡號之后輸入另一個卡號。 通常程序會說請輸入您的卡號。 用戶輸入卡號程序會確定簽證,萬事達卡等是否有效。 很簡單。但是我需要更改它以說
“請輸入卡號”
用戶輸入卡號
“您想輸入另一個卡號嗎?”
用戶輸入是或否
如果是,則該方法將重新運行並獲取另一個數字,然后繼續執行該操作,直到用戶拒絕為止。 用戶拒絕后,程序將確定卡是否為簽證卡,萬事達卡等,以及它們是否有效。
我的代碼發布在下面。 我很確定我需要一個while循環,但是我不太確定如何設置它。 下面的代碼只是getcardnumber方法。
TLDR; 在用戶停止輸入卡號之前,如何重復此操作?
public static String getCardNumber() {
String cardNumber;
Scanner keyboard = new Scanner(System.in);
System.out.println("Please enter the credit card number: ");
cardNumber = keyboard.nextLine();
//remove spaces from cardNumber
cardNumber = cardNumber.replace(" ", "");
while (!isAllDigits(cardNumber)) {
System.out.println("The credit card number must contain only the"
+ " digits 0-9; please re-enter: ");
cardNumber = keyboard.nextLine();
//remove spaces from cardNumber
cardNumber = cardNumber.replace(" ", "");
}
//a number containing only digits has been entered
return cardNumber;
}
您可以執行以下操作:
public static void main(String[] args){
boolean b = false;
do {
System.out.println("Number 2: ");
Item2 item2 = new Item2();
System.out.println("Please enter the credit card number: ");
Scanner keyboard = new Scanner(System.in);
System.out.println(checkNumber(keyboard.nextLine(), keyboard));
System.out.println("Would you like to input another card number? 1=Yes; 2=No");
int decision = Input.nextInt();
if (decision == 1){
b = false;
}else if (decision == 2){
b = true;
}
}while(b == false);
}
public static String checkNumber(String cardNumber, Scanner keyboard) {
//remove spaces from cardNumber
cardNumber = cardNumber.replace(" ", "");
while (!isAllDigits(cardNumber)) {
System.out.println("The credit card number must contain only the"
+ " digits 0-9; please re-enter: ");
cardNumber = keyboard.nextLine();
//remove spaces from cardNumber
cardNumber = cardNumber.replace(" ", "");
}
//a number containing only digits has been entered
return cardNumber;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.