错误的原因是:
声明一个整数数组,如果没有赋值,数值元素都为0,不是null。
当编辑并运行一个Java程序时,需要同时涉及到这四种方面。使用文字编辑软件(例如记事本、写字板、UltraEdit等)或集成开发环境(Eclipse、MyEclipse等)在Java源文件中定义不同的类。
通过调用类(这些类实现了Java API)中的方法来访问资源系统,把源文件编译生成一种二进制中间码。
存储在class文件中,然后再通过运行与操作系统平台环境相对应的Java虚拟机来运行class文件,执行编译产生的字节码,调用class文件中实现的方法来满足程序的Java API调用。
扩展资料:
自增和自减是单目运算符,可以放在操作元之前,也可以放在操作元之后。操作元必须是一个整型或浮点型变量。自增、自减运算符的作用是使变量的值增1或减1。
放在操作元前面的自增、自减运算符,会先将变量的值加1或减1,然后再使该变量参与表达式的运算。放在操作元后面的自增、自减运算符,会先使变量参与表达式的运算,然后再将该变量的值加1或减1。
希望对你有帮助,对了,记得采纳哟
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in)
System.out.println("输入数组的大小:")
int capacity = scanner.nextInt()
Integer[] array = new Integer[capacity]
for (int i = 0i <array.length i++) {
array[i] = (int)(Math.random()*(6000+1))+1999
}
//排序 升
Arrays.sort(array)
System.out.println("生成数组:"+Arrays.toString(array))
System.out.println("输入要查询的数:")
int target = scanner.nextInt()
int ret = biSearch(array,target)
System.out.println("查找到的位置:"+ret)
}
//二分查找
public static int biSearch(Integer[] array, int t){
int lo = 0
int ro = array.length-1
int mid
while (lo <= ro){
mid = (lo + ro)/2
if (array[mid] == t){
return mid + 1
}else if(array[mid] <t){
//往右找
lo = mid + 1
}else if (array[mid] >t){
//往左找
ro = mid - 1
}
}
return -1
}
运行效果: