我正在制作一个程序,允许用户输入标记值,并输出某个标记范围内的学生数量。
实施例。等级2((标记> = 60)&&(标记< 70))
等级3((标记> = 70)&&(标记< 80))
等级4(标记> = 80)。
我想过使用for循环和if语句来查看每个标记属于哪个范围,但我无法弄清楚如何计算它们中有多少属于哪个类别。
ArrayList<Integer> marks = new ArrayList<>();
private void btnSortActionPerformed(java.awt.event.ActionEvent evt) {
Collections.sort(marks);
String output = "";
for (int i=0; i<marks.size(); i++) {
output += marks.get(i) + "\n";
}
txtOutputSort.setText(output);
}
答案 0 :(得分:1)
您可以为每个计数使用一组int。例如(如果你有2个级别):
ArrayList<Integer> marks = new ArrayList<>();
int[] marksCount = new int[2];
//initialize each int in marksCount
for (int i=0; i<marksCount.length; i++) {
marksCount[i] = 0;
}
...
for (int i=0; i<marks.size(); i++) {
if(marks.get(i)<60)
marksCount[0]++;
else if(marks.get(i)>=60 && marks.get(i)<70)
marksCount[1]++;
现在,您可以计算每个级别的标记并将其存储在marksCount数组中。
答案 1 :(得分:0)
使用for loop
if-else
个案例的想法是可行的选择。对于您提供的范围,以下代码应该有效。
int marks_60_70 = 0;
int marks_70_80 = 0;
int marks_80 = 0;
for(int mark: marks) {
if((mark >= 60) && (mark < 70)) {
marks_60_70++;
} else if ((mark >= 70) && (mark < 80)) {
marks_70_80++;
} else if(mark >= 80) {
marks_80++;
}
}