比较对象数组并从对象转换为它的基本类型

时间:2017-12-10 21:52:08

标签: java arrays

我正在尝试从另一个类中找到对象数组的最低值,并将该对象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];
            }
        }
    }
}

3 个答案:

答案 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.

我希望这有帮助!

快乐编码!!!