要求打印程序,并且封装排序函数,用java
时间: 2024-09-14 13:11:10 浏览: 39
在Java中,如果你需要编写一个程序,其中包含一个封装的排序功能,你可以创建一个通用的`Sorter`接口或者抽象类,然后提供具体的实现类如`BubbleSort`, `QuickSort`, 或者`ArrayListSort`等。这里是一个简单的例子:
```java
// 定义一个Sorter接口
public interface Sorter<T extends Comparable<T>> {
void sort(T[] array);
}
// 具体的排序实现 - 冒泡排序示例
public class BubbleSort implements Sorter<int[]> {
@Override
public void sort(int[] array) {
for (int i = 0; i < array.length - 1; i++) {
for (int j = 0; j < array.length - 1 - i; j++) {
if (array[j] > array[j + 1]) {
int temp = array[j];
array[j] = array[j + 1];
array[j + 1] = temp;
}
}
}
}
}
// 主类打印并调用排序函数
public class Main {
public static void main(String[] args) {
int[] numbers = {5, 3, 8, 1, 6};
// 创建Sorter的实例,这里假设我们有一个BubbleSort实现
Sorter<int[]> bubbleSort = new BubbleSort();
System.out.println("Before sorting:");
printArray(numbers);
// 使用sort方法对数组进行排序
bubbleSort.sort(numbers);
System.out.println("\nAfter sorting:");
printArray(numbers);
// 提供一个通用的printArray方法
private static void printArray(T[] array) {
for (T num : array) {
System.out.print(num + " ");
}
System.out.println();
}
}
}
```
在这个例子中,`Main`类负责调用排序函数,并通过`Sorter`接口将具体的排序算法与其他代码解耦。
阅读全文