So we are working on loops right now, I got the first portino of my program up and running how I want, took some messing around with but I finally got it. Here is my assignment:
Credit Card Number Check. The last digit of a credit card number is the check
digit, which protects against transcription errors such as an error in a single digit or
switching two digits. The following method is used to verify actual credit card
numbers but, for simplicity, we will describe it for numbers with 8 digits instead of
16:
• Starting from the rightmost digit, form the sum of every other digit. For
example, if the credit card number is 4358 9795, then you form the sum 5 + 7 +
8 + 3 = 23.
• Double each of the digits that were not included in the preceding step. Add all
digits of the resulting numbers. For example, with the number given above,
doubling the digits, starting with the next-to-last one, yields 18 18 10 8. Adding
all digits in these values yields 1 + 8 + 1 + 8 + 1 + 0 + 8 = 27.
• Add the sums of the two preceding steps. If the last digit of the result is 0, the
number is valid. In our case, 23 + 27 = 50, so the number is valid.
Write a program that implements this algorithm. The user should supply an 8-digit
number, and you should print out whether the number is valid or not. If it is not
valid, you should print out the value of the check digit that would make the number
valid.
My main is running fine but here is what I have:
public class CheckSum {
public static void main(String[] args) {
Scanner numberInput = new Scanner(System.in);
boolean valid = false;
while(!valid){
System.out.println("Please enter your credit card number for "
+ "verification: ");
String ccNumber = numberInput.next();
int ccNumberlength = ccNumber.length();
if(ccNumberlength == 8) { valid = true; }
else{ System.out.println("Incorrect number try again!");}
}
}
}
I wanted it to take in 8 digits only (what we are dealing with in the problem). Here is my problem, printDigit.java I don't know where too start, this is what I have:
public class CheckDigit {
String cardNumber;
public CheckDigit(String aCardNumber){
String cardNumber = aCardNumber;
}
public void printDigits(){
}
}
I don't know what it is I am not getting. Thanks