在Java中,你可以使用不同的排序算法来对用户输入的数字进行排序。以下是一个使用冒泡排序算法的示例,该算法会读取用户输入的数字,直到用户输入-1为止,然后对这些数字进行排序并计算平均数。
import java.io.*;
public class Main {
public static void main(String[] args) throws IOException {
int[] num = new int; // 假设最多输入100个数字
int i = 0;
int sum = 0;
BufferedReader buf = new BufferedReader(new InputStreamReader(System.in));
while (true) {
String line = buf.readLine();
if (line == null || line.equals("-1")) {
break;
}
num[i] = Integer.parseInt(line);
sum += num[i];
i++;
}
System.out.println("平均数:" + (sum / (i - 1)));
bubbleSort(num, i);
System.out.print("排序后的数字:");
for (int j = 0; j < i; j++) {
System.out.print(num[j] + " ");
}
System.out.println();
}
public static void bubbleSort(int[] num, int n) {
for (int i = 0; i < n - 1; i++) {
for (int j = 0; j < n - i - 1; j++) {
if (num[j] > num[j + 1]) {
int temp = num[j];
num[j] = num[j + 1];
num[j + 1] = temp;
}
}
}
}
}
要运行这个程序,请按照以下步骤操作:
1. 将上述代码保存为`Main.java`文件。
2. 使用命令行编译Java文件:`javac Main.java`。
3. 运行编译后的程序:`java Main`。
4. 按照提示输入数字,每输入一个数字后按回车键,输入-1结束输入并显示排序后的结果和平均数。
请注意,这个程序假设用户最多输入100个数字。如果需要处理更多或更少的数字,可以相应地调整数组的大小。此外,冒泡排序算法的时间复杂度较高(O(n^2)),对于大数据集可能效率不高,实际应用中可以考虑使用更高效的排序算法,如快速排序、归并排序等。