总结:对 冒泡排序熟悉,但不能灵活插入代码
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] + "," );
}
// 这里是将数字数组通过文件流写到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();
}
} |