我试图将Int的输入直接转换为字符串。 我也试图让程序在信用卡序列中找到正确的号码,以使其正确。将输入int转换为字符串并找到正确的编号
例如,如果我输入一个不正确的信用卡号码,程序会找到一种方法来更改数字,以便它变得正确。
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
System.out.println("Please input a credit card number to validate");
String cc = in.nextLine();
validateCreditCardNumber(cc);
String convertedCC = (cc);
}
private static void validateCreditCardNumber(String str) {
int[] ints = new int[str.length()];
for (int i = 0; i < str.length(); i++) {
ints[i] = Integer.parseInt(str.substring(i, i + 1));
}
for (int i = ints.length - 2; i >= 0; i = i - 2) {
int j = ints[i];
j = j * 2;
if (j > 9) {
j = j % 10 + 1;
}
ints[i] = j;
}
int sum = 0;
for (int i = 0; i < ints.length; i++) {
sum += ints[i];
}
if (sum % 10 == 0) {
System.out.println(str + " is a valid credit card number");
} else {
System.out.println(str + " is an invalid credit card number");
}
}
这就是我所有的代码,但我试图解决的是当我初始化CC,我可以转换为字符串供以后使用。
我的问题: int已修正字符串, 转换为正确的CC号码尚未修复。
您*输入错误* d的标签,我的朋友。 Java和Javascript不是同一种语言,就像奥地利和澳大利亚不是同一个国家一样。 – PeterMader
您的代码中已经将整数转换为字符串两次。有什么麻烦? – Ivar
为什么你把它看作int,然后如果你想要它是字符串?要以字符串形式获取数据,请使用'next()'而不是'nextInt()'。 – Pshemo