У меня возникают проблемы с получением моих значений min и max для печати. Также как новый , поскольку я для программирования, я не понимаю, почему все мои значения являются десятичными. Я отправлю код и мои результаты.Min Максимальные значения случайного массива
import java.util.Random;
import java.util.Scanner;
import java.util.*;
public class RandomArray1
extends ArrayList<Double>
{
private static final long serialVersionUID = 1L;
public RandomArray1()
{
super();
}
public static RandomArray1 getInstance(int size)
{
Random randomNumberGenerator = new Random();
RandomArray1 randomArray = new RandomArray1();
for (int i = 0; i < size; i++)
{
randomArray.add(randomNumberGenerator.nextDouble());
}
return randomArray;
}
public Double getAverage()
{
if (this.size() == 0)
{
return 0d;
}
Double sum = 0d;
for (Double element : this)
{
sum = sum + element;
}
return sum/this.size();
}
public static void main(String[] args)
{
Scanner scan = new Scanner(System.in);
System.out.print("Enter how many numbers you would like to Generate: ");
RandomArray1 randomArray = RandomArray1.getInstance(scan.nextInt());
System.out.println(randomArray);
System.out.println("Average" +randomArray.getAverage());
double max = Double.MIN_VALUE;
double min = Double.MAX_VALUE;
while (true) {
if (!scan.hasNextDouble())
break;
Double num = scan.nextDouble();
min = Math.min(min, num);
max = Math.max(max, num);
System.out.println("Max is: " + max);
System.out.println("Min is: " + min);
}
}
}
Вот мои результаты ...
Введите, сколько номеров вы хотели бы Сформировать: 5 [+0,8630040934474159, 0,12949667753808425, +0,5751777190226718, 0,18492672539115063, +0,7508377917335503] Средний балл: 0,5006886014265746
всегда десятичная точка, и даже не печатает «Макс is:» или «Min is:», из-за чего я думаю, что в этом разделе что-то не так. Но я не знаю, что это ... какие-то мысли. Всего идеи ...
while (true) {
if (!scan.hasNextDouble())
break;
Double num = scan.nextDouble();
min = Math.min(min, num);
max = Math.max(max, num);
System.out.println("Max is: " + max);
System.out.println("Min is: " + min);
Программа ожидает ввода числа из-за 'scan.hasNextDouble()' в цикле 'while'. – Jesper