编写一个 Java 程序在数组上执行线性搜索。在此示例中,for 循环从头到尾遍历项目数组。
if 语句将每个数字与搜索项进行比较。如果找到匹配项,打印索引位置,break 语句会帮助 Javac 退出循环。
package Remaining;
import java.util.Scanner;
public class LinearSearch0 {
private static Scanner sc;
public static void main(String[] args) {
int i;
sc = new Scanner(System.in);
int[] arr = {10, 20, 40, 60, 80, 100, 120, 150};
System.out.print("Please Enter Number to Search = ");
int num = sc.nextInt();
for(i = 0; i < arr.length; i++)
{
if(arr[i] == num)
{
System.out.println("The Index Position of " + num + " = " + i);
break;
}
}
if(i == arr.length)
{
System.out.println("Number Not Found");
}
}
}

此 示例 接受用户输入的数组大小和项,并执行线性搜索以查找数字。
package Remaining;
import java.util.Scanner;
public class LinSea1 {
private static Scanner sc;
public static void main(String[] args) {
int Size, i;
sc = new Scanner(System.in);
System.out.print("Please Enter the size = ");
Size = sc.nextInt();
int[] arr = new int[Size];
System.out.format("Enter %d elements = ", Size);
for(i = 0; i < Size; i++) {
arr[i] = sc.nextInt();
}
System.out.print("Please Enter Number to Find = ");
int num = sc.nextInt();
for(i = 0; i < arr.length; i++)
{
if(arr[i] == num)
{
System.out.println("The Index Position of " + num + " = " + i);
break;
}
}
if(i == arr.length)
{
System.out.println("Number Not Found");
}
}
}
Please Enter the size = 8
Enter 8 elements = 11 23 45 67 77 89 98 100
Please Enter Number to Find = 98
The Index Position of 98 = 6
此程序有助于使用函数在数组上执行线性搜索。
package Remaining;
import java.util.Scanner;
public class LinSea2 {
private static Scanner sc;
public static void main(String[] args) {
sc = new Scanner(System.in);
System.out.print("Please Enter the size = ");
int Size = sc.nextInt();
int[] arr = new int[Size];
System.out.format("Enter %d elements = ", Size);
for(int i = 0; i < Size; i++) {
arr[i] = sc.nextInt();
}
System.out.print("Please Enter Number to find = ");
int num = sc.nextInt();
int result = lnSea(arr, num);
if(result == -1)
{
System.out.println("Number Not Found");
}
else
{
System.out.println("The Index Position of " + num + " = " + result);
}
}
public static int lnSea(int arr[], int num)
{
for(int i = 0; i < arr.length; i++)
{
if(arr[i] == num)
{
return i;
}
}
return -1;
}
}
Please Enter the size = 6
Enter 6 elements = 22 30 45 80 90 120
Please Enter Number to find = 90
The Index Position of 90 = 4