这就是我要做的事:
显示每个级别(R, 1, 2, 3, 4).
Level R (mark < 50)
Level 1 ( (mark >= 50) && (mark < 60) )
Level 2 ( (mark >= 60) && (mark < 70) )
Level 3 ( (mark >= 70) && (mark < 80) )
Level 4 (mark >= 80).
这就是我所拥有的:
int L0=0,L1=0,L2=0,L3=0,L4=0;
int acceptmarks=0;
acceptmarks=Integer.parseInt(marksinput.getText());
for(int i=0; i < marks.size(); i++){
if (acceptmarks<50){
L0=L0+1;}
else if ((acceptmarks>=50) && (acceptmarks<60)){
L1=L1+1;}
else if ((acceptmarks>=60) && (acceptmarks<70)){
L2=L2+1;}
else if ((acceptmarks>=70) && (acceptmarks < 80)){
L3=L3+1;}
else if ((acceptmarks>=80) && (acceptmarks < 100)){
L4=L4+1;}}
int[] level= new int [5];
level[0]=L0;
level[1]=L1;
level[2]=L2;
level[3]=L3;
level[4]=L4;
analyzeoutput.setText("Numbers at Level 4:" + level[4]+ "\nNumbers at Level 3:" +
level[3]+ "\nNumbers at Level 2:" + level[2]+ "\nNumbers at Level 1:" + level[1]+ "\nNumbers at Level R:" + level[0]);
我遇到的问题是它没有显示每个级别的正确学生人数。
这是发生的事情:
防爆。我输入了4个标记:45, 66, 84, 89.
正确的答案应该是R级中的 1分,2级中的1分和4级中的2分。但是我的程序只计算最后一个分数。因为,最后一个标记是89(第4级),它显示所有标记都是4级。我花了几个小时
任何帮助都非常感谢,并提前感谢您。
编辑:我想通了。我只需要在if语句中用marks.get(i)替换acceptmarks。
答案 0 :(得分:1)
你应该移动这个陈述
acceptmarks=Integer.parseInt(marksinput.getText());
在for循环中
for(int i=0; i < marks.size(); i++){
并且不要忘记
L0=L0+1;
当写为时,是刀具
l0++; //camelCase for the name and using advantages of the language
答案 1 :(得分:1)
int L0=0,L1=0,L2=0,L3=0,L4=0;
List<Integer> marks = Arrays.asList(45, 66, 84, 89);
for(int i = 0; i < marks.size(); i++){
if (marks.get(i)<50){
L0=L0+1;}
else if ((marks.get(i)>=50) && (marks.get(i)<60)){
L1=L1+1;}
else if ((marks.get(i)>=60) && (marks.get(i)<70)){
L2=L2+1;}
else if ((marks.get(i)>=70) && (marks.get(i) < 80)){
L3=L3+1;}
else if ((marks.get(i)>=80) && (marks.get(i)< 100)){
L4=L4+1;}}
int[] level= new int [5];
level[0]=L0;
level[1]=L1;
level[2]=L2;
level[3]=L3;
level[4]=L4;
final JLabel analyzeoutput = new JLabel();
analyzeoutput.setText("Numbers at Level 4:" + level[4]+ "\nNumbers at Level 3:" +
level[3]+ "\nNumbers at Level 2:" + level[2]+ "\nNumbers at Level 1:" + level[1]+ "\nNumbers at Level R:" + level[0]);
}
注意:如果您可以将“acceptmarks”中的所有输入都标记为数组。这将有效。
AcceptMarks是一个整数,因此它只包含您给出的最后一个输入。要么将AcceptMarks作为列表,要么使用标记作为数组,如代码片段所示。我正在使用标记,因为你正在循环标记。