gpt4 book ai didi

java - 为什么我的程序连续输出两次结果?

转载 作者:行者123 更新时间:2023-12-02 03:10:00 30 4
gpt4 key购买 nike

我正在制作一个程序,可以从信用卡中获取#并检查它是否有效。

这是到目前为止我的代码:

import java.util.Scanner;

public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner reader=new Scanner(System.in);
System.out.println("Please enter your credit card #");
String Ccard=reader.nextLine();
int length=Ccard.length();
doubleDig(Ccard,length);
int []digits=doubleDig(Ccard,length);
/*for(int x=0;x<digits.length;x++){
System.out.println(digits[x]);
}test array*/

}
public static int[] doubleDig(String cardNum,int length){
int []nums=new int[length];
for(int x=0;x<cardNum.length();x++){
nums[x]=cardNum.charAt(x);
System.out.println(cardNum.charAt(x));
}//makes array
//System.out.println(nums.length);
for(int x=nums.length;x<0;x-=2){
nums[x]=nums[x]*2;
}
return nums;

}//end doubleDig
}

我去看看数组是否设置正确,所以我使用了:System.out.println(nums[x]); 在循环中但得到了我不理解的值。然后我去使用:System.out.println(cardNum.charAt(x)); 在循环中查看发生了什么。然后我注意到该数组以某种方式第二次显示。数组的大小应等于用户输入的字符串的长度(我使用 5491946915444920 作为测试值),在本例中为 16。显示 16 个数字,但随后它以某种方式再次循环,并且值第二次显示(总共显示 32 个 #)。有什么线索吗?

最佳答案

你可以使用这个:

public static int[] doubleDig(String cardNum, int length) {
int[] nums = new int[length];
int num;
for (int x = 0; x < cardNum.length(); x++) {
nums[x]=Integer.parseInt(cardNum.substring(x, x+1));
}
System.out.println(nums.length);
return nums;
}

关于java - 为什么我的程序连续输出两次结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41195787/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com