Asignarle a un vector 100 valores de tipo entero comprendidos entre 1
y 200. Leer por teclado un número y comprobar si coincide con alguno de los
elementos del vector. Utilizar el método binarySearch.
/*
* 15. Asignarle a un vector 100 valores de tipo entero comprendidos entre 1 y
* 200.
* Leer por teclado un número y comprobar si coincide con alguno de los elementos
* del vector. Utilizar el método binarySearch.
*/
package unidad3ejercicio15;
import java.util.Scanner;
import java.util.Arrays;
import java.util.Random;
/**
*
* @author Juan
*/
public class Unidad3Ejercicio15 {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
int vector [] = new int [100];
Scanner leo = new Scanner(System.in);
Random aleatorio = new Random();
String cadena;
int numero=0;
boolean incorrecto=true;
int indice=-1;
//Asignamos valores aleatorios al array entre 1 y 200
for (int i = 0; i < vector.length; i++) {
vector[i] = aleatorio.nextInt(200)+1;
}
//Mostramos el array
for (int i : vector) {
System.out.println(i);
}
/*Leo un valor de tipo numérico comprobando errores
*
*/
while (incorrecto) {
try
{
System.out.println("Introduzca el número a buscar:");
cadena=leo.nextLine();
numero=Integer.parseInt(cadena);
incorrecto=false;
}
catch (Exception e){
System.out.println("los valores introducidos deben ser de tipo numérico");
incorrecto=true;
}
}
//Ordenamos el array de menor a mayor
Arrays.sort(vector);
//y lo muestro
for (int i = 0; i < vector.length; i++) {
System.out.println(i+": "+vector[i]);
}
indice=Arrays.binarySearch(vector, numero);
if (indice<0) System.out.println("El número no está en el array");
else System.out.println("El número "+numero +" ocupa la posición "+indice+" en el array");
}
}
No hay comentarios:
Publicar un comentario