我需要使用接口BubbleSortable和一个类BubbleSort来对数字列表进行排序,该类的方法bubbleSort接受BubbleSortable []。
我尝试创建一个List,ArrayList和BubbleSortable数组(BubbleSortable a = new BubbleSortable [someLength];),但是,我始终无法将任何数据输入到列表中—我会收到一条错误消息,指出String或int无法转换为BubbleSortable。
这是BubbleSortable接口:
public interface BubbleSortable {
boolean lessThan ( BubbleSortable bs );
}
类BubbleSort:
public class BubbleSort {
/**/
public static void bubbleSort ( BubbleSortable [] list ) {
/**/
int len;
BubbleSortable temp;
/**/
len=list.length;
/**/
for ( int p=0; p<len-1; ++p ) {
for ( int i=0; i<len-1-p; ++i ) {
if ( list[i+1].lessThan(list[i]) ) {
temp=list[i+1];
list[i+1]=list[i];
list[i]=temp;
}
}
}
/**/
return;
}
}
还有一些我想对列表进行排序的课程
import java.io.*;
import java.util.*;
/**/
public class TestR implements {
/**/
public static void main (String [] arg) {
BubbleSortable [] bsList = new BubbleSortable [5];
}
public static boolean lessThan ( BubbleSortable bs ) {
// don't know how to work with BubbleSortable object
}
}
最佳答案
你需要:
一个implements
BubbleSortable的Bubble类,在其构造函数中使用一个int
并将其存储在私有字段中。
BubbleSortable中的功能getNumber()
,您将在Bubble中使用override
,以便它返回其专用的int
字段。
然后,您可以在主函数中创建数组:
BubbleSortable[] bsArray = new Bubble[]
{new Bubble(5), new Bubble(2), new Bubble(4)}; // some numbers to be sorted
并对其进行排序:
BubbleSort.bubbleSort(bsArray);
完成所有操作后,如果在排序数组时遇到任何问题,请发表一篇新文章。