java - 成员资格测试以查找数组中是否存在数字
问题描述
给定一个 int 数组,有没有办法进行成员资格测试,以查看 int 数组中是否存在特定数字。问题是要找到用户给出的 1-10 之间的缺失数字。例如 [1,2,3,4,5] 如果 1 在数组中,它应该为真。我似乎无法在这里发布我的代码。
import java.util.Scanner;
import java.util.Arrays;
public class Q1 {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
System.out.println("Enter numbers of element: ");
int size = scan.nextInt();
int arry[]=new int[size];
for(int i =0;i<size;i++){
System.out.println("Enter any number betweent 1-10:");
int element = scan.nextInt();
arry[i] = element;
}
System.out.println(Arrays.toString(arry));
System.out.println(Arrays.asList(arry).contains(1));
}
}
解决方案
这段代码的问题是它Arrays.asList
不会创建List<int[]>
隐含的List<Integer>
,因此方法.contains(1)
总是false
。
应该实施简单的方法来检查成员资格:
static boolean isInArray(int n, int ... arr) {
for (int x : arr) {
if (x == n) return true;
}
return false;
}
使用流 API:
static boolean isInArray(int n, int ... arr) {
return Arrays.stream(arr).anyMatch(x -> x == n);
}
或者输入数组应该声明为Integer[] arry
,然后Arrays.asList
提供适当List<Integer>
的 ,并且方法contains(1)
适用于这样的列表。
推荐阅读
- html - 如何使用 Bootstrap 进行多级下拉菜单?
- android - 我可以尝试创建登录页面,但在状态电子邮件上出现错误
- r - 在 R 中生成 pca 图
- python - Selenium 通过 pip3 安装,但使用 import selenium 时找不到名为 selenium 的模块
- javascript - 如何获取url参数并将其设置为文本框onload的默认值
- c# - 如何在asp.net Core中的每次批量操作后发送进度成功消息
- javascript - javascript while循环问题,break不会停止循环
- java - 如何将 Java json 对象发送到 R 函数?
- reactjs - 在 React Query 中,如果我在组件中使用两个 mutate 函数,如何获取数据?
- json - JSON-Schema 有条件地向项目添加属性