华为机试题目_(转载总结)
原作者地址: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; } }
每天都做更好的自己,不纠结于输赢成败