📄 arrayaverage2.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 + -