用JAVA编写一个函数,统计出具有n个元素的一维数组中大于等于所有元素平均值的元素个数并返回.

 我来答
匿名用户
推荐于2017-07-14
展开全部
下面的这个程序能够处理n个数字,不管n是多少 /*
* @author:╰☆囖乐☆╮
*/import java.util.Scanner;public class Array {
public static void main(String[] args){
int i;
int n;
int avg; //平均数
int sum=0; //所有数字之和
Scanner scanner = new Scanner(System.in);
System.out.println("请输入你要处理的数字的个数:");
n = scanner.nextInt();
int[] arr = new int[n]; //定义一个n位的数组
System.out.println("请输入你要处理的数字:");
for(i = 0; i< n;i++){
System.out.print("第"+(i+1)+"个数字:");
arr[i] = scanner.nextInt();
}
for(n = 0;n<arr.length;n++){
sum += arr[n]; //累加
}
avg = sum/n;
System.out.println("平均数是:"+avg);
//下面将把数组中的数字与平均数比较,如果大于平均数则打印出来
System.out.println("数组中大于平均数的是:");
for(n = 0;n<arr.length;n++){
if(arr[n] > avg){
System.out.println("第"+n+"数字:"+arr[n]);
}

}
}}
匿名用户
2013-08-24
展开全部
public class Test{
public static int getNum(int[] source){

int all =0;//计算总素
int length =source.length;//计算元素个数
int result =0;//用于结果计数
for(int i=0;i<length;i++)
{
all+=source[i];
}
int avg = all/length;//计算平均值

for(int i=0;i<length;i++)
{
if(source[i]>=avg)
{
result++;
}
}
return result;
}

public static void main(String[] args)
{
int [] test = {1,2,3,6,9,2,5};//测试数组
System.out.println(getNum(test));
}
}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
小诸葛之猪猪
2017-07-14 · TA获得超过5979个赞
知道大有可为答主
回答量:1512
采纳率:0%
帮助的人:83.7万
展开全部
package foo;

import java.util.Arrays;

public class TestA {
    public static void main(String[] args){
        int[] arr={1,2,3,4,5,6,7,8,9};
        int[] newarr=countAvgNumber(arr);
        System.out.println(Arrays.toString(newarr));
    }
    
    public static int[] countAvgNumber(int[] arr){
        
        //存放大于平均值的数组
        int[] destarr=new int[0];
        if(arr!=null&&arr.length>0){
            //总值
            double sum=0;
            for(int x=0;x<arr.length;x++){
                sum+=arr[x];
            }
            //平均值
            double avg=sum/arr.length;
            System.out.println(avg);
            
            for(int x=0;x<arr.length;x++){
                if(arr[x]>=avg){
                    int[] newarr=new int[destarr.length+1];
                    //临时数组增值
                    newarr[newarr.length-1]=arr[x];
                    //把平均值数组复制到临时数组
                    System.arraycopy(destarr,0,newarr,0,newarr.length-1);
                    //临时数组给平均值数组
                    destarr=newarr;
                }
                  
            }
        }
        
        return destarr;
    }
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
拉宽奇飘瘦24c3f
2017-06-22 · 超过49用户采纳过TA的回答
知道小有建树答主
回答量:127
采纳率:100%
帮助的人:46.9万
展开全部
package baidutest;

import java.util.Arrays;
import java.util.Random;
import java.util.Scanner;

public class Baidu {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
System.out.println("请输入数组长度");
int n = scan.nextInt();
int[] ary = createAry(n);
System.out.println(Arrays.toString(ary));
int count = 0,sum=0;
//求和
for(int i=0;i<ary.length;i++){
sum+=ary[i];
}
System.out.println(sum);
double avg= sum*1.0/ary.length;
//求大于平均值的个数
for(int i=0;i<ary.length;i++){
if(ary[i]>avg){
count++;
}
}
System.out.println(count);
scan.close();
}

/**
* 定义随机数组
* @param n
* @return
*/
static int[] createAry(int n){
int[] arry = new int[n];
Random rad = new Random();
for(int i=0;i<arry.length;i++){
arry[i]=rad.nextInt(100);//0~99随机数

}
return arry;
}

}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
余不二smile
2017-07-14
知道答主
回答量:22
采纳率:100%
帮助的人:8万
展开全部
1、定义一个数组即1维数组
double[] numbers = {2,3,4,5,9,2,4,5,6,7};
2、定义一个用于存储总和的变量
double sum = 0;
3、循环遍历数组获取1维数组所有元素总和
for(int i=0;i<numbers.length;i++){
sum += numbers[i];
}
4、计算平均值,并定义一个存储满足条件的元素个数的变量
double avg = sum/numbers.length;
int num = 0;
5、循环遍历计算个数
for(int i=0;i<numbers.length;i++){
if(numbers[i]>=avg) num++;
}
6、最后返回满足条件的元素个数
return num;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式