Я хочу создать программу, которая ищет линейку в отсортированном массиве и может выводить различные позиции, в которых найден найденный элемент. На данный момент моя программа выводит только первую позицию, в которой найден элемент поиска, так вот пример из того, что то, что моя программа делает прямо сейчас:Линейный поиск в отсортированном массиве - Java
Enter number of elements
5
Enter 5 integers
1
3
3
9
15
Enter value to find
3
3 is present at location 2.
Теперь дело в том, что 3 находится на месте 2 и 3 , и это то, что я хочу редактировать в программе, но я не знаю, как это сделать.
Вот код моей программы:
import java.util.Scanner;
class LinearSearchArray1 {
public static void main(String args[]){
int c, n, search, array[];
Scanner in = new Scanner(System.in);
System.out.println("Enter number of elements");
n = in.nextInt();
array = new int[n];
System.out.println("Enter " + n + " integers");
for (c = 0; c < n; c++)
array[c] = in.nextInt();
System.out.println("Enter value to find");
search = in.nextInt();
for (c = 0; c < n; c++)
{
if (array[c] == search) /* Searching element is present */
{
System.out.println(search + " is present at location " + (c + 1) + ".");
break;
}
}
if (c == n) /* Searching element is absent */
System.out.println(search + " is not present in array.");
}
}
'Arrays.binarySearch' найти первую позицию. Затем цикл, чтобы найти другие - они должны быть вместе в отсортированном массиве. –