Массив для ввода 100 чисел - PullRequest
0 голосов
/ 08 сентября 2018

Мне нужно разрешить пользователю печатать ровно 100 цифр, поэтому вводить 100, а затем выводить минимальное число из них. Было бы очень неэффективно набирать 100 строк .nextInt (), и я подумал, что могу использовать массив из 100 входных данных, а затем, как только это будет сделано, найти минимум и распечатать его. Но я не знаю, как это сделать, так каков простой способ сделать это? Спасибо

Ответы [ 4 ]

0 голосов
/ 08 сентября 2018

Попробуйте этот пример кода. Я запустил его на своем компьютере, и он работает.

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);
  }
}

Надеюсь, это поможет: -)

0 голосов
/ 08 сентября 2018

Вам не нужен массив, в этом примере используется рекурсивная функция / метод:

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 голосов
/ 08 сентября 2018

спасибо за вопрос, это можно сделать без какого-либо массива, как объяснено в других ответах, но если вы хотите использовать массив, объявите его как

int arr[]=new int[100];   

введите значения в нем, используя цикл for,
затем примените

Arrays.sort(arr);   

arr [0] будет элементом минимального значения.

0 голосов
/ 08 сентября 2018

Вы можете сделать это без массива, давайте посмотрим, как.

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);
...