Java 使用非无效方法打印一系列问题的摘要

Java 使用非无效方法打印一系列问题的摘要,java,arrays,Java,Arrays,我写了这段代码 import java.util.Scanner; public class SportsEvents { public static void main(String[] args) { String[] contestants = getcontestants(); int[] score=getscores(); System.out.println("The maximum score is: "+getMaxValue(score));

我写了这段代码

import java.util.Scanner;
public class SportsEvents {
public static void main(String[] args) {
    String[] contestants = getcontestants();
    int[] score=getscores();
    System.out.println("The maximum score is: "+getMaxValue(score));
    System.out.println("The minimum score is: "+getMinValue(score)); 
    System.out.println("The average is: "+getAverage(score));
}
public static String[] getcontestants()
{
    int numcontestants=1;
    String name[] = new String[numcontestants];

    for(int j=0;j<numcontestants;j++){
        Scanner ip=new Scanner(System.in);
        System.out.println("Enter contestant's name");
        name[j]=ip.nextLine();
    }
    return name;
}
public static int[] getscores()
{
    int numscores=8;
    int score[] = new int[numscores];
    for (int a=0;a<numscores;a++){
        Scanner ip=new Scanner(System.in);
        System.out.println("Enter the scores");
        score[a]=ip.nextInt();
    }
    return score;
}
public static int getMaxValue(int[] array) {
    int maxValue = array[0];
    for (int i = 1; i < array.length; i++) {
        if (array[i] > maxValue) {
            maxValue = array[i];
        }
    }
    return maxValue;
}
public static int getMinValue(int[] array) {
    int minValue = array[0];
    for (int i = 1; i < array.length; i++) {
        if (array[i] < minValue) {
            minValue = array[i];
        }
    }
    return minValue;
}
public static int getAverage(int[] people) {
   int sum = 0;
   for (int i=0; i < people.length; i++) {
        sum = sum + people[i];
   }
   int result = sum / people.length;
   return result;
}
}
import java.util.Scanner;
公共体育赛事{
公共静态void main(字符串[]args){
字符串[]参赛者=GetCompetities();
int[]score=getscores();
System.out.println(“最大分数为:”+getMaxValue(分数));
System.out.println(“最低分数为:”+getMinValue(分数));
System.out.println(“平均值为:“+getAverage(score));
}
公共静态字符串[]getCompetitors()
{
int numcontestants=1;
字符串名称[]=新字符串[numContants];

对于(int j=0;j您想要的是将即时结果存储到单个对象中,该对象包含
min、max、avg

在java 8中,已经有一个现成的方法供您使用:

int[] score=getscores();
IntSummaryStatistics stats = Arrays.stream(score).summaryStatistics();
IntSummaryStatistics
包含

private long count;
private long sum;
private int min;
private int max;
您还可以手动获取该结果:

首先定义一个将保存数据的类:

public class SportsEvents {

   public static class IntArrayStatistic {
        private int min = Integer.MAX_VALUE;
        private int max = Integer.MIN_VALUE;
        private int sum = 0;
        private int avg;
        private int count;

        // Getter - Setter

        public static IntArrayStatistic of(int[] input) {
            if (input == null) {
                throw new IllegalArgumentException("Null array");
            }
            IntArrayStatistic result = new IntArrayStatistic();
            result.count = input.length;

            for (int i : input) {
                if (i < result.min) {
                    result.min = i;
                }
                if (i > result.max) {
                    result.max = i;
                }
                result.sum += i;
            }
            result.avg = result.sum / result.count;
            return result;
        }
    }
}

您想要的是将即时结果存储到单个对象中,该对象包含
min、max、avg

在java 8中,已经有一个现成的方法供您使用:

int[] score=getscores();
IntSummaryStatistics stats = Arrays.stream(score).summaryStatistics();
IntSummaryStatistics
包含

private long count;
private long sum;
private int min;
private int max;
您还可以手动获取该结果:

首先定义一个将保存数据的类:

public class SportsEvents {

   public static class IntArrayStatistic {
        private int min = Integer.MAX_VALUE;
        private int max = Integer.MIN_VALUE;
        private int sum = 0;
        private int avg;
        private int count;

        // Getter - Setter

        public static IntArrayStatistic of(int[] input) {
            if (input == null) {
                throw new IllegalArgumentException("Null array");
            }
            IntArrayStatistic result = new IntArrayStatistic();
            result.count = input.length;

            for (int i : input) {
                if (i < result.min) {
                    result.min = i;
                }
                if (i > result.max) {
                    result.max = i;
                }
                result.sum += i;
            }
            result.avg = result.sum / result.count;
            return result;
        }
    }
}

你的意思是,你需要写一个方法来返回所有信息吗?可能的重复你的意思是,你需要写一个方法来返回所有信息吗?可能的重复我想保留我的程序,但做一个新的非无效方法,只做一个promptI的审查我想保留我的程序,但做一个新的非无效方法,将我们必须检查一下提示