Cześć,
Próbuję stworzyć kod, który wskaże mi najbliższy element podanemu indeksowi w losowo wygenerowanej tablicy.
Pytanie brzmi-jaką drogą to znaleźć? Zastanawiałem się nad binarySearch ale to zawsze wskaże mi element mniejszy (a czasem ten większy jest bliżej)
Aktualnie jestem na takim etapie:
import java.util.Arrays;
import java.util.Random;
import java.util.Scanner;
public class Zad2 {
public static void main(String[] args) {
Random rand = new Random();
Scanner scan = new Scanner(System.in);
int sizeOfArray = rand.nextInt(6) + 5;
int[] array = new int[sizeOfArray];
for (int i = 0; i < array.length; i++) {
int element = rand.nextInt(900) + 100;
array[i] = element;
}
Arrays.sort(array);
System.out.println(Arrays.toString(array));
System.out.println("Provide index");
int providedIndex = scan.nextInt();
System.out.println("Your element is : " + array[providedIndex]);
int closestValue = Arrays.binarySearch(array, providedIndex);
System.out.println("Closest to Your index is : " + (closestValue += providedIndex) + "and its value of :" + array[closestValue]);
}
}