我試圖將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