重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
package test20210106;
创新互联建站一直秉承“诚信做人,踏实做事”的原则,不欺瞒客户,是我们最起码的底线! 以服务为基础,以质量求生存,以技术求发展,成交一个客户多一个朋友!为您提供网站制作、成都网站制作、成都网页设计、重庆小程序开发、成都网站开发、成都网站制作、成都软件开发、成都app软件开发公司是成都本地专业的网站建设和网站设计公司,等你一起来见证!
import java.util.Arrays;
import java.util.Scanner;
public class Test01 {
static int[] arr = new int[0];
public static void main(String[] args) {
systemIn();
System.out.println("数组"+Arrays.toString(arr)+" 的各项数据如下: ");
System.out.println("总和为: "+getSum());
double d = (double)getSum()/(double)arr.length;
System.out.println("平均值: "+d);
sort();
System.out.println("最大值: "+arr[0]);
System.out.println("最小值: "+arr[arr.length-1]);
}
/**用户输入数据*/
public static void systemIn(){
System.out.println("请输入一个整数,输入0则表示输入结束,程序会执行计算程序");
Scanner sc = new Scanner(System.in);
int q = sc.nextInt();
if(q!=0){
arr = Arrays.copyOf(arr, arr.length+1);
arr[arr.length-1] = q;
systemIn();
}
}
/**求和*/
public static int getSum(){
int sum = 0;
for (int i = 0; i arr.length; i++) {
sum += arr[i];
}
return sum;
}
/**给数组排序*/
public static void sort(){
for (int i = 0; i arr.length; i++) {
for (int j = arr.length-1; j i; j--) {
if(arr[j]arr[i]){
int tmp = arr[i];
arr[i] = arr[j];
arr[j] = tmp;
}
}
}
}
}
按照你的要求编写的Java程序如下:
public class CCH {
public static void main(String[] args) {
int sum=0;
float average;
System.out.print("随机列出十个数字是:");
for(int i=0;i10;i++){
int n=(int)(Math.random()*100);
sum=sum+n;
System.out.print(n+" ");
}
System.out.println();
average=sum/10.0f;
System.out.println("它们的和为:"+sum);
System.out.println("它们的平均数为"+average);
}
}
运行结果:
随机列出十个数字是:58 45 43 32 58 15 73 73 71 76
它们的和为:544
它们的平均数为54.4
package test;
import java.util.List;
public interface Average{
public double getAverage(ListDouble list);
}
package test;
import java.util.List;
public class First implements Average {
public double getAverage(ListDouble list) {
double sum = 0;
for(int i=0;ilist.size();i++){
sum += list.get(i).doubleValue();
}
return sum / list.size();
}
}
package test;
import java.util.Collections;
import java.util.List;
public class Second implements Average {
public double getAverage(ListDouble list) {
Collections.sort(list);
double sum = 0;
for(int i=1;ilist.size()-1;i++){
sum += list.get(i).doubleValue();
}
return sum / (list.size() - 2);
}
}
package test;
import java.util.ArrayList;
import java.util.List;
public class Test {
public static void main(String[] args){
ListDouble list = new ArrayListDouble();
list.add(50d);
list.add(48d);
list.add(20d);
list.add(51d);
list.add(36d);
Average first = new First();
Average second = new Second();
System.out.println(first.getAverage(list));
System.out.println(second.getAverage(list));
}
}
为了测试,我只输入了5个数,录入的代码网上很多,算法给出了,祝你好运。
可以使用Java中的可变参数来编写一个只需要一个方法即可计算任意数量数组的平均值的函数:
Copy code
public static double a1(double[]... arrays) {
double sum = 0;
int count = 0;
for (double[] array : arrays) {
for (double value : array) {
sum += value;
count++;
}
}
return sum / count;
}
然后可以使用以下代码来调用该方法,并将结果赋给对应的变量:
Copy code
double a2, b2, c2, d2;
double a[] = {90, 85, 66, 51, 69, 78, 88, 94};
double b[] = {68, 88, 81, 90, 65, 74, 64, 46};
double c[] = {68, 90, 85, 88, 68, 70};
double d[] = {60};
a2 = b2 = c2 = d2 = a1(a, b, c, d);
这样就可以使用一次方法调用计算所有数组的平均值了。