如果输入的数存在于数组中,则输出其下标;否则输出-1。
时间: 2023-04-05 16:05:12 浏览: 261
可以回答这个问题。这是一个经典的数组查找问题,可以使用循环遍历数组,判断每个元素是否等于输入的数,如果相等则返回该元素的下标,否则返回-1。以下是一个示例代码:
```
int findIndex(int[] arr, int target) {
for (int i = 0; i < arr.length; i++) {
if (arr[i] == target) {
return i;
}
}
return -1;
}
```
其中,`arr`是输入的数组,`target`是要查找的数。如果找到了目标数,则返回其下标;否则返回-1。
相关问题
给定一个数组,输入一个数,利用三分搜索法判断数组中是否能查询到输入的数,如果存在则输出数组下标,不存在就输出-1
可以回答这个问题。三分搜索法是一种用于查找有序数组中特定元素的算法。它通过将数组分成三个部分来逐步缩小搜索范围,从而提高搜索效率。具体实现方法可以参考相关资料。如果输入的数存在于数组中,则输出其下标;否则输出-1。
从键盘输入10个整数保存到数组a中, 从小到大排序, 再输入一个整数,判断这个整数是否在数组a中, 如果在输出其数组下标,否则输出下标为-1.Java程序
在Java中,你可以按照以下步骤编写程序来实现这个功能:
```java
import java.util.Scanner;
import java.util.Arrays;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
// 输入10个整数并存储在数组中
int[] a = new int[10];
for (int i = 0; i < 10; i++) {
System.out.println("请输入第 " + (i+1) + " 个整数:");
a[i] = scanner.nextInt();
}
// 对数组进行排序
Arrays.sort(a);
// 再次输入一个整数并查找其位置
System.out.println("请输入要查找的整数:");
int searchNumber = scanner.nextInt();
// 判断该数字是否在数组中
int index = binarySearch(a, searchNumber);
if (index != -1) {
System.out.println("找到,索引为:" + index);
} else {
System.out.println("未找到,索引为 -1");
}
scanner.close(); // 关闭扫描器
}
// 二分查找法寻找元素在已排序数组中的位置
private static int binarySearch(int[] array, int target) {
int left = 0;
int right = array.length - 1;
while (left <= right) {
int mid = left + (right - left) / 2;
if (array[mid] == target) {
return mid;
} else if (array[mid] < target) {
left = mid + 1;
} else {
right = mid - 1;
}
}
return -1; // 如果没找到则返回 -1
}
}
```
阅读全文