JAVA成绩分为ABCDE五个等级,请算出一个有10个元素的int数组当中各成绩的成绩?

如题所述

好的,假设这个10个元素的int数组叫做`avaScores`,我们可以定义每个等级的人数,然后将它们存储到数组中。为了方便起见,我们将A、B、C、D、E分别表示为0、1、2、3、4。那么可以这样计算:

```java

// 初始化分数数组

int[] avaScores = new int[5];

// 假设有50个人,分别得到ABCDEDABCEEEDCCBDE,那么分数数组应该是这样

int[] grades = {0, 1, 2, 3, 4};

int[] numbers = {3, 6, 2, 2, 1};

// 计算分数数组

for (int i = 0; i < grades.length; i++) {

int grade = grades[i];

int number = numbers[i];

avaScores[grade] = number;

}

```

这样我们就可以通过`avaScores`数组获取每个等级的人数了。


温馨提示:答案为网友推荐,仅供参考
第1个回答  2023-05-09
因为你没有给定数组,也没有给定成绩等级评定规则,我这里就随机生成了一个数组,规则用的一般性评分规则(大概):
1.代码片段
// 模拟一个长度为10的数组
int[] ints = new int[10];
for (int i = 0; i < ints.length; i++) {
ints[i] = 40+new Random().nextInt(61);
}
System.out.println("随机数组为:"+Arrays.toString(ints));
// 评定等级
char[] result = new char[ints.length];
for (int i = 0; i < ints.length; i++) {
int score = ints[i];
char level;
if (score>=90){
level='A';
}else if (80<=score && score<90){
level='B';
}else if (70<=score && score<80){
level='C';
}else if (60<=score && score<70){
level='D';
}else {
level='E';
}
result[i] = level;
}
System.out.println("对应等级为:"+Arrays.toString(result));
2.输出结果
随机数组为:[85, 74, 93, 58, 42, 70, 96, 82, 77, 79]
对应等级为:[B, C, A, E, E, C, A, B, C, C]
因为百度问答不支持代码片段,所以不是很友好,结构不清晰的话建议你复制到idea中,代码对齐以下就好,快捷键 Ctrl+Shift+Alt+L,默认选项直接run一下就好
因为你的问题稍微有点模糊,如果跟你需求不符,你可以完善你的问题,我这边会再改代码,其实这种问题直接问ChatGPT,很快就能给你答案,比在这里问快得多
相似回答