/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package minimovalor;
/**
*
* @author victor
*/
import java.util.Scanner;
public class MinimoValor {
//Declaramos como constantes los límites max. y min. del rango
public static final int LIM_MAX = 100;
public static final int LIM_MIN = 1;
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
// TODO code application logic here
Scanner lector = new Scanner (System.in);
//Lee la longitud de la secuencia y comprueba errores
int numValores = 0;
while (numValores <= 0) {
System.out.print ("¿De cuantos elementos quieres que sea el array?: ");
if (lector.hasNextInt()) {
numValores = lector.nextInt();
} else {
//si no es entero, se lee y se ignora
lector.next();
}
}
//si se han introducido más valores se ignoran porque solo necesitamos uno
lector.nextLine();
System.out.println ("Se leerán "+numValores+" valores enteros.");
System.out.println ("Puedes escribir los valores separados por un espacio.");
//Almacenamos los valores en un array. (Ya conocemos su longitud)
int[] arrayDistancias = new int[numValores];
//Se tienen que leer tantos enteros como la longitud del array
//Estructura de repetición con un contador
int indice = 0;//indice: indica cada una de las diferentes posiciones del array
while (indice < arrayDistancias.length) {
if (lector.hasNextInt()) {
//Se ha leído una distancia, pero ¿es válida (entre 1 y 100)?
int distancia = lector.nextInt();
if ((distancia >= LIM_MIN)&&(distancia <= LIM_MAX)) {
arrayDistancias[indice] = distancia;
indice++;
}
//Si la distancia no es válida, la ignoramos. No se asigna.
} else {
//Si no es un entero, leemos el valor como una cadena de texto y nada más. Se pierde.
lector.next();
}
}
//Ignoramos los valores sobrantes de la última línea. Si introducimos más elementos que los
//que hemos indicado en la variable numValores el programa los ignora
lector.nextLine();
System.out.println ("La secuencia leída es: ");
for (int i = 0; i < arrayDistancias.length;i++) {
System.out.println (arrayDistancias[i]);
}
//Este es el array que se ha generado
System.out.print ("Se ha generado el array: [ ");
for (int i = 0; i < arrayDistancias.length; i++) {
System.out.print (arrayDistancias[i] + " ");
}
System.out.print("]");
System.out.println();
//En cada posición del array hay el elemento
for (int i= 0; i < arrayDistancias.length; i++) {
System.out.println ("Posición "+i+" hay el elemento "+arrayDistancias[i]);
}
//Hallamos y mostamos el valor más pequeño del array
int valorMinimo = arrayDistancias[0];
for (int i= 0; i < arrayDistancias.length; i++) {
if (arrayDistancias[i] < valorMinimo) {
valorMinimo = arrayDistancias[i];
}
}
System.out.println ("Minimo: "+valorMinimo);
}
}
Comentarios sobre la versión: 1.0 (1)