需求: 键盘录入一个整数,找出整数在数组中存储的索引位置
package com.guangyunl.b_array;
import java.util.Random;
import java.util.Scanner;
// 需求: 键盘录入一个整数,找出整数在数组中存储的索引位置
//方式二
public class Demo06_01FindIndex {
public static void main(String[] args) {
// 创建Scanner对象
Scanner sc = new Scanner(System.in);
// 创建Random对象
Random rd = new Random();
// 录入数组长度
System.out.print("请输入创建数组的长度:");
int arr1Len = sc.nextInt();
// 读取并丢弃换行符
sc.nextLine();
// 定义数组
int[] arr1 = new int[arr1Len];
// 循环随机生成[0~100]的数组值
for (int i = 0; i < arr1.length; i++) {
arr1[i] = rd.nextInt(101);
}
// 循环遍历输出数组
// for (int i = 0; i < arr1.length; i++) {
// System.out.print(arr1[i] + " ");
// }
// 增强型for循环
// 这种循环的好处是简洁明了,不需要显式地指定迭代器或者数组下标,可以直接遍历所有元素。
// 它在代码编写上更为简单和易读,尤其是在处理集合或数组元素的场景下,能够减少代码量和错误的可能性。
// 无法获取索引或者元素位置
for (int j : arr1) {
System.out.print(j + " ");
}
System.out.println();
// 获取输入要查找的整数的索引
System.out.print("请输入要查找的整数:");
// 从键盘读取要查找的整数
int target = sc.nextInt();
// 读取并丢弃换行符
sc.nextLine();
// 初始化索引为-1,表示未找到
int index = -1;
// 遍历数组查找整数并记录索引
for (int i = 0; i < arr1.length; i++) {
if (arr1[i] == target) {
index = i;
break; // 找到后退出循环
}
}
// 输出结果
if (index != -1) {
System.out.println("整数 " + target + " 在数组中的索引位置是:" + index);
} else {
System.out.println("数组中未找到整数 " + target);
}
sc.close(); // 关闭 Scanner
}
}
/*
请输入创建数组的长度:7
36 82 17 71 37 72 42
请输入要查找的整数:71
整数 71 在数组中的索引位置是:3
*/