我有这个课程,我只需要帮助方法中的toString()
来实际显示结果。它给了我一个错误,我无法在静态上下文中使用getName()
或getId()
:
public static void bubbleSort(Student[] array)
{
for(int i=(array.length); i>0; i--)
for(int j=1; j<(array.length-i); j++)
if(array[j].getName().compareTo(
array[j+1].getName())<0) {
Student Temp = array[j];
array[j] = array[j+1];
array[j+1] = Temp;
}
String s = null;
for (int i=0; i<array.length; i++) {
// the error is here under the getName and getId
s= s+ getName()+" "+ getId() ;
}
System.out.print (s);
}
答案 0 :(得分:1)
而不是:
s= s+ getName()+" "+ getId() ;
您可能需要这样做:
s= s+ array[i].getName()+" "+ array[i].getId() ;
并如上述评论所述:
String s = "";
答案 1 :(得分:1)
我认为您要打印之前排序的Student
的名称和ID。
public static void bubbleSort(Student[] array)
{
for(int i=(array.length); i>0; i--)
{
for(int j=1; j<(array.length-i); j++)
{
if( array[j].getName().compareTo(array[j+1].getName())<0)
{
Student Temp = array[j];
array[j] = array[j+1];
array[j+1] = Temp;
}
}
}
String s = ""; // should not be null
for (int i = 0; i < array.length; i++)
{
s = s + array[i].getName()+" "+ array[i].getId(); // changed this line
System.out.print (s); // moved this into the loop because I think this makes more sense
}
}
方法getName()
和getID()
属于对象Student
,而不是定义bubbleSort()
的类的方法。
答案 2 :(得分:0)
您可能需要array[i].getName()
和array[i].getId()
,而不仅仅是getName()
和getId()
。