在类Example04中,定义search()二分查找方法,在排序后的数组中分别进行27、15的运算,并输出查找结果“找到”或“没有找到”。
时间: 2024-03-10 18:47:21 浏览: 13
好的,以下是实现代码:
```java
public class Example04 {
public static void main(String[] args) {
int[] arr = {1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 25, 27, 29, 31, 33, 35, 37, 39};
int num1 = 27;
int num2 = 15;
Example04 ex = new Example04();
String result1 = ex.search(arr, num1) ? "找到" : "没有找到";
String result2 = ex.search(arr, num2) ? "找到" : "没有找到";
System.out.println(num1 + " " + result1);
System.out.println(num2 + " " + result2);
}
public boolean search(int[] arr, int target) {
int low = 0;
int high = arr.length - 1;
while (low <= high) {
int mid = (low + high) / 2;
if (arr[mid] == target) {
return true;
} else if (arr[mid] < target) {
low = mid + 1;
} else {
high = mid - 1;
}
}
return false;
}
}
```
输出结果为:
```
27 找到
15 没有找到
```
这里定义了一个search方法,使用了二分查找的算法来查找目标数值。在main方法中,先定义了一个整型数组arr,并对其进行了排序。然后分别定义了两个目标数值num1和num2,并调用search方法,将结果用三目运算符赋值给result1和result2,最后输出结果。