Tengo un programa en el que un usuario tiene que seleccionar un elemento de su elección de la matriz de búsqueda lineal. Mi programa debería mostrar la pregunta y la matriz dada nuevamente cuando un usuario ingresa 1 para continuar. No estoy seguro de dónde tiene que estar el ciclo while y qué código debería estar en el ciclo while, porque si el usuario ingresa 1 para continuar, mi programa no continúa, simplemente termina Aquí mi código:

import java.util.Scanner;

public class SearchArray 
{

public  static int Search(int[] data, int key)
{

 for (int i = 0; i < data.length; i++)
   {
        if (data[i] == key)
            {
                return i;
            }//end of if statement
   }//end of for loop
        return -1;
 }//end of search method 
public static void main(String[] args) 
{
    Scanner in = new Scanner(System.in);

    int [] data= {74,56,45,14,78,100};
    for(int element: data)
    {
        System.out.print(element + " , "); 
    }

    System.out.println("Enter the key of your choice: ");
    int key = in.nextInt();
    int index = Search(data, key);
    int option = 1;
    System.out.println("Enter 1 to continue: ");
    while(option ==1)
    {

        option=in.nextInt();
    }
    if(index!=-1)
        {
            System.out.println("Key: " + key + " Found at index: " + Search(data, key));
        }//end of if statement
        else
        {
            System.out.println("Key: " + key + " Is not found ");
        }//end of else statement

}//end of main method 
}//end of main class
-2
nadine jansen 16 oct. 2018 a las 16:24

2 respuestas

La mejor respuesta

Crear una nueva clase de sí mismo. es decir

if(sc.nextInt() == 1){
   SearchArray sa = new SearchArray();
   sa.main();
}
0
Khushit Shah 16 oct. 2018 a las 13:28

Prueba con este método principal

public static void main(String... args) {

    Scanner in = new Scanner(System.in);

    int[] data = {74, 56, 45, 14, 78, 100};
    for (int element : data) {
        System.out.print(element + " , ");
    }


    while (true) {
        System.out.println("Enter the key of your choice: ");
        int key = in.nextInt();
        int index = Search(data, key);
        System.out.println("Key: " + key + " Found at index: " + index);
        System.out.println("Enter 1 to continue: ");
        while (in.nextInt() != 1) {
            System.out.println("Enter 1 to continue: ");
        }
    }
}
0
user10386912user10386912 16 oct. 2018 a las 13:34