java

关注公众号 jb51net

关闭
首页 > 软件编程 > java > Java字符串中的数值进行排序

Java实现对字符串中的数值进行排序操作示例

作者:倚世独殇

这篇文章主要介绍了Java实现对字符串中的数值进行排序操作,涉及java字符串与数组的相互转换以及数组排序相关操作技巧,需要的朋友可以参考下

本文实例讲述了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程序设计有所帮助。

您可能感兴趣的文章:
阅读全文