本文实例讲述了Java实现对字符串中的数值进行排序操作。分享给大家供大家参考,具体如下:
创新互联专注于网站建设,为客户提供成都做网站、成都网站设计、网页设计开发服务,多年建网站服务经验,各类网站都可以开发,品牌网站建设,公司官网,公司展示网站,网站设计,建网站费用,建网站多少钱,价格优惠,收费合理。
问题:
对"34 9 -7 12 67 25"这个字符串中的数值从小到大排序!
解决方法:
先介绍几个eclipse快捷键:输入for再按下"alt+/"可快速写一个for循环
选中某一个小写单词 Ctrl+Shift+x 可变大写,选中某一个大写单词 Ctrl+Shift+y 可变小写
下面请看具体实现代码:
import java.util.Arrays; public class Main_4 { private static String SPACE=" "; public static void main(String[] args) { /* * 综合练习: * 对"34 9 -7 12 67 25"这个字符串中的数值从小到大排序 */ String str="34 9 -7 12 67 25"; str=sortStringNumber(str); System.out.println(str); } private static String sortStringNumber(String str) { // 1 将字符串中的数值通过一定的规则进行切割获取字符串数组 String[] str_nums=toStringArray(str); // 2 将字符串数组转换成int数组 int[] nums=toIntArray(str_nums); // 3 对int数组排序 sortIntArray(nums); // 4 将int数组变成字符串 return ArrayToString(nums); } /* * 将int数组变成字符串 */ private static String ArrayToString(int[] nums) { // 1 创建字符串缓冲区 StringBuilder sb=new StringBuilder(); for (int i = 0; i < nums.length; i++) { if(i!=nums.length-1) sb.append(nums[i]+SPACE); else sb.append(nums[i]); } return sb.toString(); } /* * 对int数组排序 */ private static void sortIntArray(int[] nums) { Arrays.sort(nums); } /* * 将字符串数组转换成int数组 */ private static int[] toIntArray(String[] str_nums) { // 定义一个int数组 int[] arr=new int[str_nums.length]; // 对字符串数组进行遍历 for (int i = 0; i < arr.length; i++) { // 将数组格式的字符串转成整数,存储到arr数组中 arr[i]=Integer.parseInt(str_nums[i]); } return arr; } /* * 将字符串转成字符串数组 */ private static String[] toStringArray(String str) { return str.split(SPACE); } }
运行结果:
PS:这里再为大家推荐一款关于排序的演示工具供大家参考:
在线动画演示插入/选择/冒泡/归并/希尔/快速排序算法过程工具:
http://tools.jb51.net/aideddesign/paixu_ys
更多关于java算法相关内容感兴趣的读者可查看本站专题:《Java数据结构与算法教程》、《Java操作DOM节点技巧总结》、《Java文件与目录操作技巧汇总》和《Java缓存操作技巧汇总》
希望本文所述对大家java程序设计有所帮助。