Is it possible to print a number ONLY if it is a value in an array? (Java)
本问题已经有最佳答案,请猛点这里访问。
我试图弄清楚,只有当一个整型数是一个数值时,是否可以打印出一个整型数。例如:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
我不确定的是,只有当j介于1和9之间时,为了让系统打印"它在数组中",您才会在"if"后面的括号中加上什么。
谢谢!
使用java.util.arrays实用程序类。它可以将数组转换为一个允许您使用contains方法的列表,或者它有一个二进制搜索允许您查找数字的索引,或者-1(如果它不在数组中)。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | import java.util.Arrays; import java.util.Random; public class arrays { Random random = new Random(); public void method () { int[] numbers = {1, 2, 3, 4, 5, 6, 7, 8, 9}; int j = random.nextInt(20); if( Arrays.binarySearch(numbers, j) != -1 ) { System.out.println("It is in the array."); } else { System.out.println("It is not in the array."); } } } |
2
1 |
或
1 | ArrayUtils.contains( numbers, j ) |
由于对数组进行了排序,因此可以使用arrays.binarysearch,它返回元素的索引(如果元素存在于
1 2 3 4 5 | if(Arrays.binarySearch(numbers,j) != -1){ system.out.println("It is in the array."); } else { system.out.println("It is not in the array."); } |
只是一种更快的搜索方式,您也不需要将您的