题目如图
我做的
import java.util.Scanner;
public class aver {
public static void main(String[] args) {
// TODO Auto-generated method stub
int ri, repeat;
int i, n, sum,a[];
float aver;
sum=0;
Scanner in=new Scanner(System.in);
repeat=in.nextInt();
for(ri=1; ri<=repeat; ri++){
n=in.nextInt();
a=new int[n];
for(i=0; i<=a.length-1; i++)
a[i]=in.nextInt(); //这个循环输入数组各元素
/*--------------*/
sum = sum + a[i];
aver=sum/n;
System.out.println("aver="+aver);
}
}
}
报错内容是这样,有人能帮我看看怎么改嘛qwq
第17行,第19行,加个大括号,
原代码里第19行其实不在16行的循环体里;
/**
* 命名要规范,大写开头
*
*/
public class Aver {
public static void main(String[] args) {
// 自动关闭资源
try (Scanner sc = new Scanner(System.in)) {
int repeat = 0;
// 检查输入值的范围
while (repeat <= 0 || repeat >= 10) {
System.out.println("请输入repeat(0-10):");
repeat = sc.nextInt();
}
// 执行repeat次下列运算
for (; repeat > 0; repeat--) {
int n = 0;
// 检查输入值的范围
while (n < 1 || n > 10) {
System.out.println("请输入n[0-10]:");
n = sc.nextInt();
}
System.out.printf("请再输入%s个参数\n", n);
int i = 0;
int[] num = new int[n];
// 输入n个值
for (; n > 0; n--) {
System.out.printf("第%s个:", i + 1);
num[i] = sc.nextInt();
i++;
}
// 求和
int sum = 0;
for (int j : num) {
sum += j;
}
// 算平均值
double aver = (double) sum / num.length;
System.out.println("aver=" + String.format("%.1f", aver));
}
} catch (Exception e) {
e.printStackTrace();
}
}
}