Мне нужна помощь для преобразования из строки в int, я искал и не нашел ничего, что могло бы помочь мне с этим конкретным вопросом.Проверка кредитной карты
это то, что я получил до сих пор .. (код вниз)
- карта должна быть 6 цифр длиной (например, 123456) - получил его
- Я изолирован каждую цифру карты число (единицы, десятки, сотни ...)
- Я объединил первые пять цифр (слева) карты, используя строку.
Теперь после объединения первые 5 цифр (например, 1 + 2 + 3 + 4 + 5 = 12345) мне нужно MOD это число в 7 (12345% 7)
но он продолжает давать мне следующая ошибка -
java.lang.number.formatexception для входной строки: fiveDigits: (в java.lang.number.formatexception)
Любые рекомендации о том, чтобы исправить это будет оценено. Спасибо.
if(creditCard<=99999||creditCard>=1000000)
System.out.println("Your credit card is not valid. You cannot buy the ticket");
else
{
ones = creditCard%10;
tens = (creditCard%100)/10;
hundreds = (creditCard%1000)/100;
thousands = (creditCard%10000)/1000;
tensOfThousands = (creditCard%100000)/10000;
hunOfThousands = (creditCard%1000000)/100000;
String fiveDigits = "" + hunOfThousands+tensOfThousands+thousands+hundreds+tens;
int firstFiveDigits = Integer.parseInt("fiveDigits");
int remainder = firstFiveDigits%7;
if(remainder==ones)
System.out.println("Your credit card is valid. Bon Voyage!");
else
System.out.println("Your credit card is not valid. You cannot buy the ticket");
Вы разбираете строку «fiveDigits», а не строку, представленную переменной fiveDigits. Удалите кавычки, и все будет в порядке. –