华为机试题目_(转载总结)

原作者地址:http://blog.csdn.net/xcbeyond/article/details/45627247

 

题目二

2.程序实现目标:求一个整型数组中元素的平均值,并统计其中大于和小于此平均值的元素的个数。

  程序要求:输入:整型数组中的元素个数及各个元素。

                     输出:整型数组中元素的平均值,大于和小于此平均值的元素的个数。

/*
 * 一点总结:
 * 1、Java中没有指针,那么如何定义全局变量,还是只要public就可以共享了呢,试下去掉static可不可以:错误:无法在静态方法中引用非静态变量  
 * 2、全部设置为static;不管是方法还是全局变量;定义了public型的全局变量在各个成员函数中不需要再定义,直接使用即可
 * 3、输出流的import java.util.Arrays;包的使用;Arrays.toString(array)可以将数组转换成字符串输出;
 */
package HW;

import java.util.Arrays;    //Arrays.toString(array)的使用

public class test_tm2 {
    public static int average = 0;     // 定义一个全局静态变量;
    //public  int average = 0;     // 定义一个全局静态变量;
    
    public static void main(String[] args){
        int[] array={1,23,4,13,6} ;
        int kk = avg(array) ;
        int mm[] = countAvg(array) ;
        System.out.println("数组"+Arrays.toString(array)+"的平均值是:"+kk+
        "大于和小于平均值元素的个数分别为:"+Arrays.toString(mm));
        
    }
    
    public static int[] countAvg(int[] array){
        int gt = 0; //大于
        int lt = 0; //小于
        int[] result = {0,0};
        for(int i=0;i<array.length;i++) {
            if(array[i]>average){
                gt++;
            }else if(array[i]<average){
                lt++;
            }
        }
        result[0] = gt ;
        result[1] = lt ;
        
        return result;
    }
    public static int avg(int[] array){
        //int average = 0 ;
        int sum=0;
        for(int i=0;i<array.length;i++){
            sum += array[i] ;
        }
        average = sum/array.length ;
        
        return average;
    }
    
    
    

}

 

posted @ 2015-07-28 21:52  好想雨的云  阅读(321)  评论(0编辑  收藏  举报