Я пишу «MasterCardValidator», который читает 16-значную строку от пользователя, затем проходит через формулу Луна, которая затем объявляет, действительно ли введенные номера CC получены из действительной карты MasterCard.
В строке 20 я хочу изменить вывод этой строки: числа (5076802), которые выводятся на печать. Я буду использовать эти числа для некоторой арифметики (то есть формулы Луна), но я еще не на этом шаге.
Я создал цикл while, который выполняет итерацию по всем необходимым символам для ввода CC пользователя (строка 8) и печатает нужные мне цифры, верно. Но я не могу справиться с этими числами, как с обычным целым числом?
Я не уверен, должен ли я создать цикл for
, а затем повторить вывод по строке 20, умножая / mod 'вводить необходимые числа для формулы Луна?
Я прокомментировал соответствующие номера строк:
System.out.print("Enter a card number for validation: ");
String CCnum = input.next(); // 8, using 2221008763790559
int i = 14; // 10
while (i <= 14 && i > 0) { // 12
int a = CCnum.charAt(i) - '0'; // 13, The nums needed from original CCnum string in line 8
i -= 2; // 18
System.out.print(a + " "); // 20, Prints 5 0 7 6 8 0 2
}