我需要帮助才能将字符串转换为int,我已经搜索过了 并没有找到任何可以帮助我解决这个具体问题的东西。
这是我到目前为止所做的..(代码下载)
现在在组合前5位数字后(例如1 + 2 + 3 + 4 + 5 = 12345) 我需要在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");
答案 0 :(得分:1)
删除变量fiveDigits周围的引号
int firstFiveDigits = Integer.parseInt(fiveDigits);
答案 1 :(得分:0)
int firstDigits = (allDigits - allDigits%10)/10;
这不好但是它更好......
您可以将“真实”CC编号作为字符串操作(因为它们很长) - 只需将allDigitsAsString
作为输入然后
String firstDigitsAsString = allDigitsAsString.substring(0, allDigitsAsString.length() - 1);
int firstDigits = Integer.parseInt(firstDigitsAsString);
对于奖励积分,请向付款处理程序存根添加一些模仿电话。