我有一个account_numbers数组。我从用户获取输入,并尝试查看该输入是否存在于数组中。我一直在尝试一个在参数中带有for循环的if语句,但我觉得这有点过头了。我是不是遗漏了什么?
发布于 2012-12-06 12:44:51
您可以使用Arrays实用程序类及其简单的BinarySearch算法:
Arrays.sort(array); // must sort before next line
boolean found = Arrays.binarySearch(array, someValue) > -1;
发布于 2012-12-06 12:23:41
如果您仍然希望在不使用列表的情况下遍历数组,则可以使用for循环的基本结构:
boolean validInput = false;
for (int i = 0; i < account_numbers.length; i++) {
if (account_numbers[i] == userInput) {
validInput = true;
break;
}
}
发布于 2012-12-06 12:14:51
最简单的方法是将数组转换为列表,并使用contains
方法,如下所示:
Long[] account_numbers = new Long[SIZE];//Your existing array
//get the list from array
List<Long> accountNumbers = Arrays.asList(account_numbers);
//check the desired account exist or not
Long accountToSearch= new Long("12345");
if(accountNumbers.contains(accountToSearch)){
//account exist
}
https://stackoverflow.com/questions/13736814
复制相似问题