Necesito permitir que el usuario escriba exactamente 100 números, por lo que 100 entradas, y luego imprimir el número mínimo de esos. Sería muy ineficiente escribir 100 líneas .nextInt () y pensé que podría usar una matriz de exactamente 100 entradas y luego, una vez hecho esto, encuentre el min e imprímalo. Pero no sé cómo hacerlo, entonces, ¿cuál es una manera simple de hacerlo? Gracias

-2
Steven McCormick 8 sep. 2018 a las 21:08

4 respuestas

La mejor respuesta

Puede hacerlo sin una matriz, veamos cómo.

int smallest=Integer.MAX_VALUE;//assume smallest to be largest integer
for(int i=0;i<100;i++){
    int num=sc.nextInt();//this will run 100 times and hence will input 100 number
    if(num<smallest){//if number is smaller than smallest then num is smallest
       smallest=num; 
    }
}
System.out.println(smallest);
1
Lone_Coder 8 sep. 2018 a las 18:13

No necesita una matriz, este ejemplo está utilizando una función / método recursivo:

import java.util.Scanner;

public class Code{

    public static void main(String[]args){
        Scanner sc = new Scanner(System.in);
        int min = prompt(sc, 1, 5); /* prompts for 5 values, change as required */
        sc.close();
        System.out.printf("Minium value is: %d%n", min);
    }

    private static int prompt(Scanner sc, int count, int times){
        System.out.printf("Enter number %d of %d: ", count, times);
        int n = sc.nextInt();
        if(count == times){
            return n;
        }
        return Math.min(n, prompt(sc, (1 + count), times));
    }
}
0
8 sep. 2018 a las 18:36

Gracias por preguntar esto se puede hacer sin una matriz como se explica en otras respuestas, pero si desea utilizar una matriz, declare como

int arr[]=new int[100];   

Ingrese los valores usando un bucle for,
luego aplicar

Arrays.sort(arr);   

Arr [0] será el elemento de valor mínimo.

0
Zoe 8 sep. 2018 a las 18:59

Pruebe este ejemplo de código. Lo ejecuté en mi computadora y funciona.

import java.util.Scanner;


public class HelloWorld
{

  public static void main(String[] args)
  {
    int [] Numbers = new int[100];
    Scanner input = new Scanner (System.in);

    for (int x=0;x<100;x++){
        System.out.println("Enter Number");
        Numbers[x]= input.nextInt();
    }

    int min = Numbers[0];

    for (int x=1;x<100;x++){
      if (Numbers[x] < min){
        min = Numbers[x];
      }
    }

    System.out.println("The Min number is :"+min);
  }
}

Espero que esto ayude :-)

1
Mohamed Nashaat 8 sep. 2018 a las 19:17