java 编写程序_从10个数中求出最大值_最小值及平均值,JAVA 编写程序,从10个数中求出最大值,最小值及平均值(急!)...

本文提供了多种方法帮助Java初学者解决从10个数中找出最大值、最小值和计算平均值的问题,包括基本的循环遍历、使用排序和Arrays类,以及针对不同场景的优化建议。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

JAVA 编写程序,从10个数中求出最大值,最小值及平均值(急!)

43 个解决方案

#1

这问题有点太..... 楼主是做XXX的吗? 如果是转行的还可以理解。。。

#2

作业题.....

#3

你说你学过程序设计没,排序写过吧,你排序后不就得到最大值和最小值了么,再求和除以10不就ok了

#4

呵呵,弄几个方法,来个赋值循环,最后再求个平均值OK,LZ好好想想

#5

确实很基础啊,LZ要努力啊,

int[] arr={2,34,343,54,67,78,34,12,56,6};

int max=arr[0];

int min=arr[0];

int sum=0;

for(int i:arr){

if(i>max){

max=i;

}

if(i

min=i;

}

sum+=i;

}

System.out.println("max:"+max+";\nmin:"+min+"\naverage:"+(sum/arr.length));

#6

引用 1 楼 java2000_net 的回复:

这问题有点太..... 楼主是做XXX的吗? 如果是转行的还可以理解。。。

刚上路...鼓励一下LZ

#7

public class Ti   //这是个十个数值求最大最小和和的程序

{

public static void main(String[] args)

{

int[] arr={2,42,21,65,3,15,30,58,47,68};

int max=arr[0];

int min=arr[0];

int sum=0;

int i=0;

for(i=0;i

{

if (max

{

max=arr[i];

}

if(min>arr[i])

{

min=arr[i];

}

sum=sum+arr[i];

}

System.out.println("max:"+max);

System.out.println("min: "+min);

System.out.println("sum: "+sum);

}

}

#8

mark

#9

来看看,不说话。。。-_-

#10

用sort(),然后取出两个边界值就是最大最小值了~

#11

用Arrays.sort(int[] a)   第一个是最小值,最后一个是最大值,10个数相加除以10得出平均值!

鼓励一下楼主,都是从不会开始的!

#12

用Arrays.sort(int[] a)   第一个是最小值,最后一个是最大值,10个数相加除以10得出平均值!

鼓励一下楼主,都是从不会开始的!

这个方法好,值得学习

#13

楼下继续

#14

哈哈,当年我也是这样的。慢慢来

#15

如果说刚入门,排序不会可以理解,可是这个平均值不会就有点...

#16

这个不是计算机问题,是数学问题...

难怪学数学的鄙视学计算机的呢....哎

#17

不会很正常啊,人都是从不会到会的,可能是没有思路,多想想再加点提示,应该可以实现的。和LZ一起学习~

#18

引用 15 楼 ZX_ARES 的回复:

如果说刚入门,排序不会可以理解,可是这个平均值不会就有点...

同意哈…………建议楼主多看看书,上课认真听讲!!!

#19

其实不教你这种问题才是帮助你!

#20

public class sort implements Comparator

{public int compare(Object o1, Object o2) {

int j1=((Integer)o1).intValue();

int j2=((Integer)o2).intValue();

return j1>j2?1:(j1==j2?0:-1);

}

public static void main(String[] args)

{Integer arr[] = {2,34,343,54,67,78,34,12,56,6};

Arrays.sort(arr,new sort());

System.out.println("Min" + arr[0]);

System.out.println("Max" + arr[9]);

}

}

#21

引用 7 楼 ziwopengzhang 的回复:

public class Ti   //这是个十个数值求最大最小和和的程序

{

public static void main(String[] args)

{

int[] arr=new int[10]

for(i=0;i

array[i]=(int)(Math.random()*100);

int max=arr[0];

int min=arr[0];

int sum=0;

int i=0;

for(i=0;i 

{

if (max 

{

max=arr[i];

}

if(min>arr[i])

{

min=arr[i];

}

sum=sum+arr[i];

}

System.out.println("max:…

你好,请问我这么改可以吗?

#22

class MaxMin{

public static void main(String args[]){

int arr[]={7,2,3,4,6,1,5,8,9,10};

int max=arr[0];

int min=arr[0];

int sum=0;

int average=0;

for(int i=0; i

if(max

max=arr[i];

}

if(min>arr[i]){

min=arr[i];

}

sum=sum+arr[i];

average=sum/arr.length;

}

System.out.println(max+" "+min+" "+average);

}

}

#23

引用 11 楼 ThirdDimension 的回复:

用Arrays.sort(int[] a)   第一个是最小值,最后一个是最大值,10个数相加除以10得出平均值!

鼓励一下楼主,都是从不会开始的!

这个不好,效率较低,求极值没有必要排序

#24

引用 7 楼 ziwopengzhang 的回复:

public class Ti   //这是个十个数值求最大最小和和的程序

{

public static void main(String[] args)

{

int[] arr={2,42,21,65,3,15,30,58,47,68};

int max=arr[0];

int min=arr[0];

int sum=0;

int i=0;

for(i=0;i 

{

if (max 

{

max=arr[i];

}

if(min>arr[i])

{

min=arr[i];

}

sum=sum+arr[i];

}

System.out.println("max:…

#25

你需要的是一个编程思想.

排序时,你先定义出3个变量,分别是min,max,sum,对应是用来记录表示最小值,最大值,总和(求平均值时用)

好.

1.先取出第一个数one,用min=one,max=one,sum=one,也就是说如果数组里面仅有一个值时,那么不论最大,最小,平均,总和都是它.对吧?

2.找到下一个数two,对min来说,如果twomax,那么max=two,max始终记录最大的值.sum = sum+two,那么sum的值就是one+two,记录总和.

3.循环第2个过程,不断取下一个值,直到数组取完了.

最后min,max,sum/数组个数 就是你想要的最小,最大,平均值了.

#26

class Test{

static double getMax(double[] array)

{

double max = array[0];

for(int i = 1;i 

if(max 

{

max = array[i];

}

}

return max;

}

static double getMin(double[] array)

{

double min = array[0];

for(int i = 1;i 

if(min > array[i])

{

min = array[i];

}

}

return min;

}

static double getAverage(double[] array)

{

double sum = 0;

for(int i = 0;i 

sum += array[i];

}

return sum/array.length;

}

public static void main(String[] args) {

double[] array = {9,1,1,2,3,2,2,56,7,4,3};

System.out.println(getMax(array));

System.out.println(getMin(array));

System.out.println(getAverage(array));

}

}

#27

import java.util.Arrays;

public class Test{

static double getMax(double[] array)

{

Arrays.sort(array);

return array[array.length-1];

}

static double getMin(double[] array)

{

Arrays.sort(array);

return array[0];

}

static double getAverage(double[] array)

{

double sum = 0;

for(double temp:array)

sum += temp;

return sum/array.length;

}

public static void main(String[] args) {

double[] array = {56,2,75,3,7,3,6,8,4,34};

System.out.println(getMax(array));

System.out.println(getMin(array));

System.out.println(getAverage(array));

}

}

#28

int [] ary = {1,34,2,5,2,1,3,65,2,3,4,2,1,1,2,3,4};

int min = ary[0];

int max = ary[0];

int sum = 0;

for (int i:ary) {

max=(i>max)?i:max;

min=(i

sum += i;

}

System.out.println(max);

System.out.println(min);

System.out.println(sum/ary.length);

#29

引用 3 楼 zuoguodang 的回复:

你说你学过程序设计没,排序写过吧,你排序后不就得到最大值和最小值了么,再求和除以10不就ok了

#30

用arrays.sort()应该比较方便

#31

看你这么老了,也不要这么小看我们这些刚出来的,你当年也还不是这样!

引用 1 楼 java2000_net 的回复:

这问题有点太..... 楼主是做XXX的吗? 如果是转行的还可以理解。。。

#32

import java.util.*;

public class gg {

/**

* @param args

*/

public static void main(String[] args) {

// TODO Auto-generated method stub

int[] arr={2,42,21,65,3,15,30,58,47,68};

Arrays.sort(arr);

System.out.println(arr[0]);//最小值

System.out.println(arr[arr.length-1]);//最大值

System.out.println(average(arr));平均值

}

public static double average(int[] a)

{   double sum=0.0;

for(int i=0;i

sum=sum+a[i];

return sum/a.length ;

}

#33

路过。。。

#34

呵呵,真谢谢大家的关注,自己没学过一点JAVA,什么也不懂,只为了帮朋友找作业答案。

#35

求平均值的时候都是:sum/length,如果定义的sum是int型,得到的值只是整数部分,而并不是平均值。

#36

int [] ary = {1,34,2,5,2,1,3,65,2,3,4,2,1,1,2,3,4};

int min = ary[0];

int max = ary[0];

int sum = 0;

for (int i:ary) {

max=(i>max)?i:max;

min=(i 

sum += i;

}

System.out.println(max);

System.out.println(min);

System.out.println(sum/ary.length);

这个简单

#37

引用 25 楼 myminer 的回复:

你需要的是一个编程思想.

排序时,你先定义出3个变量,分别是min,max,sum,对应是用来记录表示最小值,最大值,总和(求平均值时用)

好.

1.先取出第一个数one,用min=one,max=one,sum=one,也就是说如果数组里面仅有一个值时,那么不论最大,最小,平均,总和都是它.对吧?

2.找到下一个数two,对min来说,如果two max,那么max=two,max始终记录最大的值.sum…

辛苦了,我想楼主会受益非浅的。

#38

找出来了,是以前的作业题.老师有表扬我写的好哦.呵呵

/*求10个数中的最大值与最小值和平均值*/

import java.io.*;

public class ArrayTest{

public static void main(String args[]){

int i,j,min,max;

int sum=0;

double arv;

int a[]=new int[10];

System.out.println("请输入10个整数:");

for(i=0;i<10;i++)

{ try

{

BufferedReader br=new BufferedReader(new InputStreamReader(System.in));

String s=br.readLine();

j=Integer.parseInt(s);

a[i]=j;

}

catch(IOException ioe)

{

System.err.println(ioe.toString());

System.exit(0);

}

catch(NumberFormatException nfe)

{ System.out.println("输入格式错误。 重新输入10个整数");

i--;

}

}

min=a[0];

max=a[0];

for(i=1;i<10;i++)

{

if(a[i]

min=a[i];

if(a[i]>max)

max=a[i];

}

for(i=0;i<10;i++)

{

sum=sum+a[i];

}

arv=sum/10;

System.out.println("最大的数为"+max+"最小的数为"+min+"平均值"+arv);

}

}

#39

从键盘上接受数据,并可判别输入的是否为数字.

#40

像这样的问题  楼主应该自己去体会。。。

这样收获会更大。。。

菜鸟上路

一点建议。。。。

#41

引用 23 楼 new_bird_0001 的回复:

引用 11 楼 ThirdDimension 的回复:

用Arrays.sort(int[] a)  第一个是最小值,最后一个是最大值,10个数相加除以10得出平均值!

鼓励一下楼主,都是从不会开始的!

这个不好,效率较低,求极值没有必要排序

为什么你说效率低?给个理由!

你用其他方法求最大值最小值不同样要循环吗?你好好想想哪个效率低?

汗......

#42

引用 25 楼 myminer 的回复:

你需要的是一个编程思想.

排序时,你先定义出3个变量,分别是min,max,sum,对应是用来记录表示最小值,最大值,总和(求平均值时用)

好.

1.先取出第一个数one,用min=one,max=one,sum=one,也就是说如果数组里面仅有一个值时,那么不论最大,最小,平均,总和都是它.对吧?

2.找到下一个数two,对min来说,如果two max,那么max=two,max始终记录最大的值.sum = sum+two,那么sum的值就是one+two,记录总和.

3.循环第2个过程,不断取下一个值,直到数组取完了.

最后min,max,sum/数组个数 就是你想要的最小,最大,平均值了.

如果是我提问,觉得这样的回答比较有帮助,要是只单纯列出代码还不如自己找题库来的直接

#43

public class NumMax {

public  static void main(String args[]){

int max;

int a=Integer.parseInt(args[0]);

int b=Integer.parseInt(args[1]);

int c=Integer.parseInt(args[2]);

if(a>b&&a>c)

max = a;

else if(b>c)

max=b;

else{

max=c;}

System.out.println("三个数中最大的是:"+max);

}

}

用这种方法同时求最大值和最小值,怎么写啊?

请大家帮帮忙。

谢谢

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值