public class Demo1 { public static void main (String[] args) {
float a[]=new float[5];
float sum =0;
for(int i=0;i<a.length;i++){
a[i]=Float.parseFloat(args[i]);
System.out.println ("第"+(i+1)+"门课程的成绩:"+a[i]);
sum=sum+a[i];
}
System.out.println ("总成绩是:"+sum);
float avg=sum/a.length;
System.out.println ("平均成绩是:"+avg);
}
}
请问上面代码会出现什么异常?数字格式异常?算术异常?数组下标越界?
求解析
if(args != null && args.length == 5) {
float a[]=new float[5];
float sum =0; try {
for(int i=0;i<a.length;i++){
a[i]=Float.parseFloat(args[i]);
System.out.println ("第"+(i+1)+"门课程的成绩:"+a[i]);
sum=sum+a[i];
}
System.out.println ("总成绩是:"+sum);
float avg=sum/a.length;
System.out.println ("平均成绩是:"+avg);
} catch (NumberFormatException e) {
e.printStackTrace();
}
}else {
System.out.println("你输入的数据不正确,输入数据的格式样例为:67.5 67.6 88.6 90.5 99");
}
}
}
对于输入的值如果出现符号或者是不能转化为float的字符串时,会出现数字格式错误。