Java buscando elementos presentes en la matriz

Muy nuevo en Java y Oop en general. así que sé amable.

Tengo un archivo de texto que contiene 10 enteros, searchkeysArray.txt . El programa crea una matriz llamada keysArr . Tengo otro archivo de texto de 500 enteros aleatorios, array1.txt . El programa crea otra matriz llamada matriz1 .

Quiero usar el método linearSearch que creé para buscar los elementos de keysArr dentro de array1 y generar el índice que existe.

public static int linearSearch(int arr[], int x)
{  
    int size = arr.length;
    for(int i = 0; i < size; i++)
    {
        if(arr[i] == x)
            return i;
    }

    return -1;
}

método readFile

public static int[] readFile(String file)
{
   try {
            File f = new File(file);
            Scanner s = new Scanner(f);

            int ctr = 0;

            while (s.hasNextInt())
            {
                ctr++;
                s.nextInt();
            }
            int[] arr = new int[ctr];  //create array of that size

            Scanner scanner2 = new Scanner(f);

            for (int i = 0; i < arr.length; i++)
                    arr[i] = scanner2.nextInt();

            return arr;
        }
            catch(Exception e)
             {
                 return null;
             }

el programa.

 public static void main(String[] args) 
{
   int[] keysArr = readFile("searchkeysArray");
   int[] array1 = readFile("array17"); 
  int key = 34;

  int result = linearSearch(array1, key);
        if (result != -1)
        System.out.print("The element " +key+" is present in the array, at index " + result + " ");
        else
            System.out.print("The element " +key+" is not present in the array ");
}

y sale

The element 34 is present in the array, at index 359

Lo cual tiene sentido. He probado manualmente los números y (aparentemente) todo funciona bien. Pero no entiendo cómo se supone que debo usar keysArr como mi clave en lugar de int x = algún número .

Quiere dar salida a algo como

The element [keysArr[0]] is present in the array, at index 359
The element [keysArr[1]] is present in the array, at index 547
  ...
The element [keysArr[4]] is not present in the array 

y así. En este momento, keysArr es solo una matriz de 10 enteros, pero eventualmente usaré cientos ...

Respuesta 1

En lugar de usar una clave codificada específica, como, por ejemplo int key = 34, desea recorrer su conjunto de claves keysArr. Puede lograr eso usando código como:

for (int key : keysArr) {
    int result = linearSearch(array1, key);
    if (result != -1)
        System.out.print("The element " +key+" is present in the array, at index " + result + " ");
    else
        System.out.print("The element " +key+" is not present in the array ");
}
Respuesta: 2

Intención intent1 = nueva intención (Questions.this, Questions.class); startActivity (intent1); Pequeño problema en mi aprendizaje. Lo siento por mi frenchglish ^^ Una variable cambia cada vez, yo ...

Tengo una plantilla donde necesito establecer un ui: param: <ui: param name = "pageCononical" value = "# {somevalue}" /> El valor = "# {somevalue} debe ser este s: link: < s: id de enlace = "canonical" view = "/ ...

Estoy trabajando en un juego y estoy en esa parte en la que quiero guardar el progreso del juego en un archivo de texto (o tal vez un archivo de propiedades también sería bueno), pero me gustaría guardar ese archivo en un lugar que no es ...

Agrego un panel tabbed en mi marco y llamo tab.add ("", nuevo Img ()) que extiende Img con JPanel. La pregunta es: ¿podría agregar JScrollPane en ese JPanel y drawImage como fondo de JPanel y también para ...