A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© star皆空 中级黑马   /  2016-10-23 00:16  /  727 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

package com.heima.tets;

import java.io.BufferedOutputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.Arrays;
import java.util.Scanner;

/**
* 分析以下需求,并用代码实现: (1)有一个数字字符串"25 11 -6 20 102 9",数字之间用空格间隔
* (2)利用冒泡排序对这串数字按照从小到大排序,生成一个数值有序的字符串"-6 9 11 20 25 102"
* (3)提示:用String类提供的split方法(用" "(空格)作为split方法的参数来切割),然后生成对应的数字字符串数组
* (4)将最后的排序的结果写到当前项目的text文件当中
*
* @author Administrator
*
*/
public class Test1 {
        public static void main(String[] args) throws IOException {
                System.out.println("请输入数字字符串:");
                Scanner sc =new Scanner(System.in);
                String s = sc.nextLine();
                String[] str = s.split(" ");//创建一个字符串数组接收切割好的字符串
                int[] arr = new int[str.length];
                for (int i=0;i<arr.length;i++ ) {
                        arr[i]=Integer.parseInt(str[i]);//转换为int类型接收
                }
                sort(arr);
                //将整形数组转化成字符串
                StringBuilder sb = new StringBuilder();
                //遍历arr数组
                for(int i = 0;i<arr.length;i++){
                        if(i==arr.length-1){//判断是否为最后一位
                                sb.append(arr[i]);//添加进缓冲区
                        }else {
                                sb.append(arr[i]).append(" ");
                        }
                }
                //创建输出流
                FileOutputStream fos = new FileOutputStream("text.txt");
                BufferedOutputStream bos = new BufferedOutputStream(fos);
                //将字符串写入 文件要转为字节数组
                bos.write(sb.toString().getBytes());
                bos.close();//关闭流
        }
        //冒泡排序
        public static void sort(int[] arr){
                for (int i = 0; i < arr.length-1; i++) {
                        for (int j = 0; j < arr.length-1-i; j++) {
                                if(arr[j]>arr[j+1]){
                                        int temp = arr[j];
                                        arr[j]= arr[j+1];
                                        arr[j+1]= temp;
                                }
                        }
                }
        }
}


0 个回复

您需要登录后才可以回帖 登录 | 加入黑马