繁体   English   中英

我如何创建一个带有数组的扫描仪,并在 java 中找到输入用户的最小值、最大值和平均值?

[英]How can I create a scanner with array and also find min ,max and average of input user in java?

如何创建一个带有数组的Scanner ,并在 java 中找到用户输入的最小值、最大值和平均值?
请给我一个结果或java代码

代码:

import java.util.Scanner;

public class Array {
    public static void main(String[] args) {
        int sum = 0;
        int i = 0;
        Scanner s = new Scanner(System.in);
        int[] name = new int[5];
        while (i <= 4) {
            System.out.print("Array Number " + i + ": = ");
            name[i] = s.nextInt();
            ++i;
        }
    }
}

为了计算平均值,您需要获得所有数字的总和并将其除以数组的大小——您将其设置为 5(五)。

您需要跟踪最小值和最大值。 对于输入的每个值,您需要检查它是否低于当前最小值。 同样,您需要检查输入的值是否大于当前最大值。 您应该将最小值初始化为一个非常大的数字,以便输入的第一个值会更低,以便您继续跟踪最小值。 同样,将最大值初始化为一个非常小的数字,以便输入的第一个值会更大。

这是代码:

import java.util.Scanner;

public class Array {
    public static void main(String[] args) {
        int sum = 0;
        int i = 0;
        Scanner s = new Scanner(System.in);
        int[] name = new int[5];
        int total = 0;
        int min = Integer.MAX_VALUE;
        int max = Integer.MIN_VALUE;
        while (i <= 4) {
            System.out.print("Array Number " + i + ": = ");
            name[i] = s.nextInt();
            total += name[i];
            if (name[i] > max) {
                max = name[i];
            }
            if (name[i] < min) {
                min = name[i];
            }
            ++i;
        }
        System.out.println("min = " + min);
        System.out.println("max = " + max);
        double average = (double) total / 5;
        System.out.println("avg = " + average);
    }
}

我在计算平均值时使用 cast to double以确保double结果。 如果没有转换,结果将是一个int

这是上面代码的示例运行中的 output:

Array Number 0: = 121
Array Number 1: = 49
Array Number 2: = 81
Array Number 3: = 4
Array Number 4: = 144
min = 4
max = 144
avg = 79.8

之后你需要对 int 数组进行计算

Integer min = Arrays.stream(num).min(Integer::compare).get();
Integer max = Arrays.stream(num).max(Integer::compare).get();
Integer average Arrays.stream(num).average().getAsDouble();

如果你谈论的是最小值、最大值、平均值,你可以这样做

int sum = 0;
    int i = 0;
    Scanner s = new Scanner(System.in);
    int[] name = new int[5];
    while (i <= 4) {
        
        System.out.print("Array Number " + i + ": = ");
        name[i] = s.nextInt();
        sum = sum +name[i];
        ++i;
        
    }
    
    Arrays.sort(name);
    System.out.println("Minimum = " + name[0]);
    System.out.println("Maximum = " + name[name.length-1]);
    System.out.println("Average = " + sum/5);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM