总结:对 冒泡排序熟悉,但不能灵活插入代码
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(); } } |
原文:http://www.cnblogs.com/langlove/p/3512857.html