⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 arrayaverage2.java

📁 《Java2程序设计实用教程(第2版)》课件
💻 JAVA
字号:
//【例5.4】  求数组元素的平均值。

public class ArrayAverage2
{
    public static double average(int table[])    //求数组元素的平均值
    {
        if (table!=null && table.length!=0)      //避免空对象异常和除数为0错误
        {
            double sum=0;
            for (int i=0;i<table.length;i++)
                 sum += table[i];  
            return sum / table.length;
        }
        return 0.0;
    }

    public static double average(int table1[],int table2[])    //求两个数组元素的平均值
    {                                            //当其中一个数组为空,或元素个数为0时,跳过不计
        int count=0;

        if (table1!=null && table1.length!=0)
            count = table1.length;
            
        if (table2!=null && table2.length!=0)
            count += table2.length;

        if (count!=0)
            return (average(table1)*table1.length + average(table2)*table2.length) / count;
        else
            return 0.0;
    }

    public static int[] tointArray(String str[]) //获得字符串数组中的整数值
    {
        if (str!=null && str.length!=0)
        {
            int temp[] = new int[str.length];
            int count=0;                         //整数个数
            for (int i=0;i<str.length;i++)
            {
                try
                {
                    temp[count] = Integer.parseInt(str[i]);
                    count++;
                }
                catch(NumberFormatException e)
                {
                    System.out.println("字符串"+str[i]+"不能转换为整数,产生的异常类是"+e.getClass().getName());
                }
                catch(Exception e)
                {
                    System.out.println(e.toString());
                }
                finally
                {
                }
            }
            int table[] = new int[count];
            System.arraycopy(temp,0,table,0,count);  //复制数组
            return table;
        }
        return null;
    }

    public static void print(int table[])            //输出数组元素
    {
        if (table!=null)
        {
            System.out.print("数组元素为: ");
            for (int i=0;i<table.length;i++)
                System.out.print("  "+table[i]);
            System.out.println();
        }
    }

    public static void main(String args[])
    {
        int x[] = {1,2,3,4};
        int y[] = {};
        System.out.println("average(x,y)="+average(x,y));

        y=tointArray(args);
        print(y);
        System.out.println("average(y)="+average(y));
    }
}

/*

程序运行结果如下:
average(x,y)=2.5
字符串a不能转换为整数,产生的异常类是java.lang.NumberFormatException
字符串b不能转换为整数,产生的异常类是java.lang.NumberFormatException
数组元素为: 10  20  30 
average(y)=20.0

*/

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -