package com.dkl;
import java.io.*;
import java.io.IOException;
import java.util.*;
//上机排序题目
//用户输入数字,然后冒泡排序,
//把数字数组通过文件流写到D盘文件a.txt下面
public class Ap {
public static void main(String[] args) throws IOException {
System.out.println("请输入数字:");
Scanner c = new Scanner(System.in);
String str = c.next();// 这个是接收输入的是String型。那么我们需要转换为int型
String ss[] = str.split(",");
int a[] = new int[ss.length];
for (int i = 0; i < ss.length; i++) {
// 这里是将字符串型数组转换为整型数组
a[i] = Integer.parseInt(ss[i]);
}
// 接下来是冒泡排序
int temp; // 这里的i的外层循环是进行循环的。因为每一轮循环将确定一个数组元素的位置,所以每一轮比较的次数会减少
for (int i = 0; i < ss.length - 1; i++) {// ///我他妈死了算了啊。这次把循环变量作为索引进行大小啊
for (int j = 0; j < ss.length - i - 1; j++) {// 这排序顺序是从大到小
if (a[j] > a[j + 1]) {// 这是前一个数大于后一个数。但是从小到大排序的。谢谢你帮我
temp = a[j];// 如果第j个元素比j+1(比他后面的相邻元素打)个元素大,那么就交换位置
a[j] = a[j + 1];
a[j + 1] = temp;
}
}
}// 打印出排序后的数组。懂不?是数组。
for (int i = 0; i < ss.length; i++) {
System.out.print(a[i] + ",");
}
File f = new File("D://MM.txt");
// 这里是将数字数组通过文件流写到D盘的文件下面。你妹的。给我长记性
if (!f.exists()) {
f.createNewFile();// 这就是创建了一个文本文档
}
FileOutputStream fos = new FileOutputStream(f);
// FileInputStream fis=new FileInputStream(f);
int b;
for (int i = 0; i < ss.length; i++) {// 这里当我在d盘下打开文件时,它是乱码的。因为写道文件里的本来不是给人看的。
// 因为我往文件里写的是整型
fos.write(i);
// System.out.println(a[i]);
}
fos.close();
// fis.read();
}
}