我正在研究Luhn的测试问题,我想使用1-D阵列构建程序。我初始化了一个16位的数组,但我希望能够根据用户输入的位数来初始化数组。
is
如何根据输入的长度(请求15或16)初始化数组
答案 0 :(得分:6)
首先获取输入,然后获取长度,然后构建数组。像
这样的东西//get input
System.out.print("Enter 15 or 16-digit credit card number: ");
String cardStr = input.nextLine();
long [] cc_num = new long[cardStr.length()];
答案 1 :(得分:6)
我同意Elliott提出的建议。但我很好奇你为什么使用长数据类型。如果您将信用卡存入变量,那么很长时间就是解决方案。 16位数完全适合长。这是我要用的东西
System.out.print("Enter 15 or 16-digit credit card number: ");
String cardStr = input.nextLine();
int [] cc_num = new int[cardStr.length()];
更好的方式
System.out.print("Enter 15 or 16-digit credit card number: ");
String cardStr = input.nextLine();
long cc_num = Long.parseLong(cardStr);
最佳方式
System.out.print("Enter 15 or 16-digit credit card number: ");
String cardStr = input.nextLine();
//store as string itself, so that leading 0's are preserved
//it really makes more sense because no arithemtic operations are performed on cc numbers