使用两个可能的输入值初始化数组

时间:2015-07-06 02:11:37

标签: java arrays

我正在研究Luhn的测试问题,我想使用1-D阵列构建程序。我初始化了一个16位的数组,但我希望能够根据用户输入的位数来初始化数组。

is

如何根据输入的长度(请求15或16)初始化数组

2 个答案:

答案 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