- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个应该像这样运行的程序。您输入类(class)中的学生人数,例如 3。然后你输入学生证,后面跟着 4 个数字。前 3 个数字是平均成绩占类(class)总成绩的 80%,第四个数字是学生在期末考试后希望获得的成绩,占类(class)总成绩的 20%。
Example:
Enter number of students in class: 3
(Here you would enter the data)
123456 90 90 90 90
543216 70 80 80 70
435366 80 80 80 90
那么输出应该是:
123456 90 //(The minimum score the student must get on their final to get the grade they want)
435366 130
543216 44
我把所有的数学都记下来了,效果很好。我输入信息并得到正确的数字。我遇到的问题是让输出按从最小到最大的顺序显示。我使用表格输入信息,行是类(class)中的学生人数,列是 5(ID、年级 1、2、3、所需年级)
for (int count = 0; count < numberOfStudents(in this case, 3); ++count)
{
StudentID = The first ID I entered (123456);
Grade = *a bit of math to solve for this*;
}
现在,当它再次进入循环时,StudentID 和 Grade 的值将被替换,因此我无法将它们与任何内容进行比较以检查哪个小于哪个。我有一个想法,将 StudentID 放入一个数组中,然后进行比较,但随后我遇到的问题是如何获取与 ID 对应的相应成绩。
有什么想法吗?
最佳答案
听起来你真的应该创建一个 Student
类(class),其中包含他们的 ID、成绩和期望的最终成绩。然后,您可以拥有一组学生(例如 Student[]
或 List<Student>
,并使用 Collections.sort
按现有结果对其进行排序。(要进行排序比较成绩,可以使 Student
实现 Comparable<Student>
,或编写一个实现 GradeComparator
的 Comparator<Student>
。)
作为一般原则,每当您发现自己有多个集合时,当一个集合的每个元素对应于其他集合的相同元素索引时,您应该考虑将数据封装为一种类型,然后封装为该类型的集合。作为另一个例子,而不是:
String[] addressLines1;
String[] addressLines2;
String[] cities;
String[] zipCodes;
String[] countries;
...你会有一个Address[]
或List<Address>
,其中Address
类具有第 1 行、第 2 行、城市、邮政编码和国家/地区的属性。
关于java - 如果数据每次返回循环时都会被替换,如何将循环中的数据从最小到最大排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19330768/
我是一名优秀的程序员,十分优秀!