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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

[AppleScript] 纯文本查看 复制代码
package myexam.test24;

/**
 * 练习:将字符串中的数值从大到小的排序
 * "20 78 9 -7 88 36 29"中间有空格
 * 
 * @author lvshen
 *
 */
public class MyTest8 {
	
	private static final String SPACE_SEPARATOR=" ";
	public static void main(String[] args) {
		String str="20 78 9 -7 88 36 29";
		//字符串排序
		String newStr=sortStringArrays(getStringArrays(str));
		//打印排序后的字符串
		System.out.println(newStr);
	}
	/**
	 * 创建将字符串拆分成字符串数组的方法
	 * @param str 目标字符串
	 */
	public static String[] getStringArrays(String str){
		String[] strs=str.split(SPACE_SEPARATOR);
		return strs;
	}
	/**
	 * 创建一个字符串从大到小的排序方法
	 * @param strs 拆分成的字符串数组
	 */
	public static String sortStringArrays(String[] strs){
		for (int i = 0; i < strs.length-1; i++) {
			for(int j=i+1;j<strs.length;j++){
				if(Integer.parseInt(strs[i])<Integer.parseInt(strs[j])){
					swap(strs,i,j);
				}
			}
		}
		return printToString(strs);
	}
	/**
	 * 创建一个数组元素交换方法
	 * @param strs 数组
	 * @param i 数组元素角标
	 * @param j 数组元素角标
	 */
	private static void swap(String[] strs, int i, int j) {
		String temp=strs[i];
		strs[i]=strs[j];
		strs[j]=temp;
	}
	/**
	 * 将字符串数组转变为字符串
	 * @param strs 字符串数组
	 * @return 字符串
	 */
	public static String printToString(String[] strs){
		//创建一个字符串存储器
		StringBuilder sb=new StringBuilder();
		System.out.print("\"");
		for (int i = 0; i < strs.length; i++) {
			if(i==strs.length-1){
				sb.append(strs[i]+"\"");
			}else{
				sb.append(strs[i]+SPACE_SEPARATOR);
			}
		}
		return sb.toString();
	}
}

0 个回复

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