题目要求如下,两个问题一个是现在的代码无法运行,还有一个是输入格式不对。要求一行输入,我不太清楚要如何改写输入格式,以及代码为何无法运行,求解答。
```public class Ex81 {
public static void main(String[] a){
Scanner input=new Scanner(System.in);
double []number1= new double[10];
int []number2= new int[5];
for(int i=0;i<15;i++){
if(i<=10)
number1[i]=input.nextDouble();
Ex81.average(number1);
if(i>10)
number2[i]=input.nextInt();
Ex81.average(number2);
}
System.out.println(average(number1));
System.out.println(average(number2));
}
public static double average(int[] arr){
int sum = 0;
for(int i=0;i<arr.length;i++){
sum=+arr[i];
}
int average1=sum/5;
return average1;
}
public static double average(double[] arr){
double sum = 0;
for(int i=0;i<arr.length;i++){
sum=+arr[i];
}
double average2=sum/10;
return average2;
}
}
第8行应该是if(i<10),不能等于10
0-9是10个数,是double,10-14是int
修改如下。number2数组写入时,下标要减去10。另外不需要在循环中计算平均值
for(int i=0;i<15;i++)
{
if(i<10)
number1[i]=input.nextDouble();
else
number2[i-10]=input.nextInt();
}
另外26行也不对,应该改为
double average1=sum/5.0;