Java定义一维数组并初始化,通过键盘任意输入一个数,查找该数是否存在(结果返回下标值)。
时间: 2024-10-09 18:00:48 浏览: 50
详解C++中的一维数组和二维数组
5星 · 资源好评率100%
在Java中,你可以使用`int[]`来定义一维整型数组,并通过`Scanner`类从用户处获取输入。以下是创建数组、初始化并搜索元素的一个示例:
```java
import java.util.Scanner;
public class ArraySearch {
public static void main(String[] args) {
// 定义数组并初始化
int[] numbers = new int[5]; // 假设我们有一个长度为5的数组
for (int i = 0; i < numbers.length; i++) {
numbers[i] = i + 1; // 初始化为0到4的整数
}
// 创建Scanner对象获取用户输入
Scanner scanner = new Scanner(System.in);
System.out.println("请输入一个数字:");
int inputNumber = scanner.nextInt();
// 查找并打印索引
int index = findIndex(numbers, inputNumber);
if (index != -1) {
System.out.println("找到了,数字 " + inputNumber + " 的索引是 " + index);
} else {
System.out.println("没有找到数字 " + inputNumber + "。");
}
// 关闭Scanner
scanner.close();
}
// 辅助方法:二分查找,若不存在则返回-1
private static int findIndex(int[] array, int target) {
int low = 0;
int high = array.length - 1;
while (low <= high) {
int mid = (low + high) / 2;
if (array[mid] == target) {
return mid;
} else if (array[mid] < target) {
low = mid + 1;
} else {
high = mid - 1;
}
}
return -1; // 如果未找到,返回-1
}
}
```
当你运行这个程序,它会提示你输入一个数字,然后尝试在预定义的一维数组中找到它。如果找到,就显示其索引;如果没有,就输出一条相应的消息。
阅读全文