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

honsoa 2008-05-24 04:01:43
JAVA 编写程序,从10个数中求出最大值,最小值及平均值(急!)
...全文
14058 42 打赏 收藏 转发到动态 举报
写回复
用AI写文章
42 条回复
切换为时间正序
请发表友善的回复…
发表回复
轩辕敬城 2010-10-14
  • 打赏
  • 举报
回复
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);
}

}
用这种方法同时求最大值和最小值,怎么写啊?
请大家帮帮忙。
谢谢
hyj19831027 2009-10-12
  • 打赏
  • 举报
回复
[Quote=引用 25 楼 myminer 的回复:]
你需要的是一个编程思想.
排序时,你先定义出3个变量,分别是min,max,sum,对应是用来记录表示最小值,最大值,总和(求平均值时用)
好.

1.先取出第一个数one,用min=one,max=one,sum=one,也就是说如果数组里面仅有一个值时,那么不论最大,最小,平均,总和都是它.对吧?
2.找到下一个数two,对min来说,如果two <min,说明two比min小,那么用min=two,也就是min始终记录最小的那个值.同样two>max,那么max=two,max始终记录最大的值.sum = sum+two,那么sum的值就是one+two,记录总和.
3.循环第2个过程,不断取下一个值,直到数组取完了.
最后min,max,sum/数组个数 就是你想要的最小,最大,平均值了.
[/Quote]
如果是我提问,觉得这样的回答比较有帮助,要是只单纯列出代码还不如自己找题库来的直接
ThirdDimension 2008-05-29
  • 打赏
  • 举报
回复
[Quote=引用 23 楼 new_bird_0001 的回复:]
引用 11 楼 ThirdDimension 的回复:
用Arrays.sort(int[] a) 第一个是最小值,最后一个是最大值,10个数相加除以10得出平均值!

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

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

为什么你说效率低?给个理由!
你用其他方法求最大值最小值不同样要循环吗?你好好想想哪个效率低?

汗......
fengwx007 2008-05-28
  • 打赏
  • 举报
回复
求平均值的时候都是:sum/length,如果定义的sum是int型,得到的值只是整数部分,而并不是平均值。
honsoa 2008-05-28
  • 打赏
  • 举报
回复
呵呵,真谢谢大家的关注,自己没学过一点JAVA,什么也不懂,只为了帮朋友找作业答案。
fangcany 2008-05-28
  • 打赏
  • 举报
回复
像这样的问题 楼主应该自己去体会。。。
这样收获会更大。。。
菜鸟上路
一点建议。。。。
bxeldor_coder 2008-05-28
  • 打赏
  • 举报
回复
从键盘上接受数据,并可判别输入的是否为数字.
bxeldor_coder 2008-05-28
  • 打赏
  • 举报
回复
找出来了,是以前的作业题.老师有表扬我写的好哦.呵呵
/*求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)
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);
}
}
xiaoban0514 2008-05-28
  • 打赏
  • 举报
回复
[Quote=引用 25 楼 myminer 的回复:]
你需要的是一个编程思想.
排序时,你先定义出3个变量,分别是min,max,sum,对应是用来记录表示最小值,最大值,总和(求平均值时用)
好.

1.先取出第一个数one,用min=one,max=one,sum=one,也就是说如果数组里面仅有一个值时,那么不论最大,最小,平均,总和都是它.对吧?
2.找到下一个数two,对min来说,如果two <min,说明two比min小,那么用min=two,也就是min始终记录最小的那个值.同样two>max,那么max=two,max始终记录最大的值.sum…
[/Quote]

辛苦了,我想楼主会受益非浅的。
haoxiongok 2008-05-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 <min)?i:min;
sum += i;
}
System.out.println(max);
System.out.println(min);
System.out.println(sum/ary.length);

这个简单
new_bird_0001 2008-05-27
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 ThirdDimension 的回复:]
用Arrays.sort(int[] a) 第一个是最小值,最后一个是最大值,10个数相加除以10得出平均值!

鼓励一下楼主,都是从不会开始的!
[/Quote]
这个不好,效率较低,求极值没有必要排序
myminer 2008-05-27
  • 打赏
  • 举报
回复
你需要的是一个编程思想.
排序时,你先定义出3个变量,分别是min,max,sum,对应是用来记录表示最小值,最大值,总和(求平均值时用)
好.

1.先取出第一个数one,用min=one,max=one,sum=one,也就是说如果数组里面仅有一个值时,那么不论最大,最小,平均,总和都是它.对吧?
2.找到下一个数two,对min来说,如果two<min,说明two比min小,那么用min=two,也就是min始终记录最小的那个值.同样two>max,那么max=two,max始终记录最大的值.sum = sum+two,那么sum的值就是one+two,记录总和.
3.循环第2个过程,不断取下一个值,直到数组取完了.
最后min,max,sum/数组个数 就是你想要的最小,最大,平均值了.
xiguagege 2008-05-27
  • 打赏
  • 举报
回复
路过。。。
sanshizhang001 2008-05-27
  • 打赏
  • 举报
回复
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<a.length ;i++)
sum=sum+a[i];
return sum/a.length ;

}
zhanmingbo 2008-05-27
  • 打赏
  • 举报
回复
看你这么老了,也不要这么小看我们这些刚出来的,你当年也还不是这样![Quote=引用 1 楼 java2000_net 的回复:]
这问题有点太..... 楼主是做XXX的吗? 如果是转行的还可以理解。。。
[/Quote]
javatotheworld 2008-05-27
  • 打赏
  • 举报
回复
用arrays.sort()应该比较方便
zfk 2008-05-27
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 zuoguodang 的回复:]
你说你学过程序设计没,排序写过吧,你排序后不就得到最大值和最小值了么,再求和除以10不就ok了
[/Quote]
PowerFedora 2008-05-27
  • 打赏
  • 举报
回复
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<min)?i:min;
sum += i;
}
System.out.println(max);
System.out.println(min);
System.out.println(sum/ary.length);
胡矣 2008-05-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));
}
}
胡矣 2008-05-27
  • 打赏
  • 举报
回复

class Test{

static double getMax(double[] array)
{
double max = array[0];
for(int i = 1;i < array.length;++i){
if(max < array[i])
{
max = array[i];
}
}
return max;
}
static double getMin(double[] array)
{
double min = array[0];
for(int i = 1;i < array.length;++i){
if(min > array[i])
{
min = array[i];
}
}
return min;
}
static double getAverage(double[] array)
{
double sum = 0;
for(int i = 0;i < array.length;++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));
}
}
加载更多回复(22)

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧