我正在尝试从另一个类中找到对象数组的最低值,并将该对象int存储到int类型中。
我不确定如何比较数组值并将最低值存储到int。
void findlow(Student [] a) {
/* This method will find the lowest score and store it in an array names
lowscores. */
for (int i = 0; i < (a.length - 1); i++) {
for (int j = 1; i < a.length; i++) {
if (a[i].equals(a[j])) {
lowscores[i] = a[i];
}
}
}
}
答案 0 :(得分:0)
使用lowscores[i] = a[i].(whatever integer variable);
。整数变量应该是Student类中的getter或public int变量。在java中,您不能将int变量设置为对象,这就是为什么该行可能会给您一个错误。
至于找到最低分数,获取a
数组的第一个索引,然后检查它是否小于下一个索引,以及是否将其设置为lowScore
变量。
答案 1 :(得分:0)
你有一个void方法“findlow”;这很令人困惑,因为如果它被称为find____它应该找到一些东西。
将问题分解为方法:
第一种方法 - 找到您要查找的对象的最低值 第二种方法 - 将结果放在某处
所以在你的情况下你可能有第一种方法
public Student lowest(Student[] students) {
Student result = students[0];
for (Student s : students) {
if (s.getProperty() < result.getProperty()) {
result = s;
}
}
return result;
}
和第二次
public void saveStudentInfo(Student student) {
// do something with the student you found
}
总计
public static void main(String[] args) {
// ...
Student s = lowest(students);
saveStudentInfo(s);
}
答案 2 :(得分:0)
你的问题有点不清楚和含糊不清......
我试图找到另一个对象数组的最低值 类并将该对象int存储到int类型中。
首先,您可以轻松地将数组(从其他类)传递到新类。这非常基本;创建其他类的对象,并简单地引用该数组。
示例:强> 我假设其他类名是&#39;其他&#39;并且数组命名为#arr&#39;在那堂课。
Other other = new Other();
Student[] student = other.arr;
由于您正在进行数值比较,我还假设您的 Student class 有一个返回数值的方法(例如,int)。让我们调用这个方法getValue()。现在,这就是你的findlow()方法应该是这样的:
int findlow(Student[] a){
int low = a[0].getValue();
for(int i = 1; i < a.length; i++){
if(a[i].getValue() < low){
low = a[i].getValue();
}
}
}//End of method.
我希望这有帮助!
快乐编码!!!