dabocaiqq 2019-12-06 09:14 采纳率: 63.3%
浏览 183
已结题

高分悬赏,Java语言实现字符串的排序,怎么写这个程序,运用数组来实现,懂的人来回答

高分悬赏,Java语言实现字符串的排序,怎么写这个程序,运用数组来实现,懂的人来回答

  • 写回答

2条回答 默认 最新

  • 山上农夫 2019-12-06 10:06
    关注

    数字字符串排序和数组
    public class StringDateSort {
    public static void main(String[] args) {
    String numString="23 10 -8 0 3 7 108";
    String sortStr=sortNumberString(numString);
    System.out.println("排序的结果是"+sortStr);
    }

    private static String sortNumberString(String numString) {
    
        //1.将给定的字符串分解成多个数字格式字符串
        String[] numStrings=toStringArray(numString);
    
        //2.将字符串数组转成int数组
        int[] nums=toIntArray(numStrings);
    
        //3.对数组排序
        sort(nums);
    
        //4.将int数组转成字符串
        return toString(nums);
    }
    
    private static String toString(int[] nums) {
        StringBuffer stringBuffer=new StringBuffer();
        for (int i = 0; i < nums.length; i++) {
            if (i!=nums.length-1) {
                stringBuffer.append(nums[i]+"<");
            }else{
            stringBuffer.append(nums[i]);
            }
        }
        return stringBuffer.toString();
    }
    
    private static void sort(int[] nums) {
        Arrays.sort(nums);
    }
    
    private static int[] toIntArray(String[] numStrings) {
        int[] nums=new int[numStrings.length];
        for (int i = 0; i < numStrings.length; i++) {
            String s=numStrings[i];
            nums[i]=Integer.parseInt(s);
        }
        return nums;
    }
    
    private static String[] toStringArray(String numString) {
        String[] numberStr=numString.split(" ");
        for (int i = 0; i < numberStr.length; i++) {
            System.out.println("抽出数字"+numberStr[i]);
        }
        return numberStr;
    }
    

    英文字符串排序
    public class Main {

    public static void main(String[] args) {
        String str1 = "abc";
        System.out.println(str1.substring(2));
    
        String str = "holle world";
        //倒序输出的4种方式
        reverseString1(str);
        reverseString2(str);
        reverseString3(str);
        reverseStringMy(str);
    }
    
    /*
     * 利用String类的toCharArray(),再倒序输出数组的方法
     */
    private static void reverseString1(String str) {
    
        char[] chr = str.toCharArray();
    
        for (int i = chr.length-1 ; i >= 0; i--) {
            System.out.print(chr[i]);
        }
        System.out.println("\t");
    
    }
    
    
    /*
     * 利用String类提供的subString()方法,利用递归的办法输出倒序字符串。
     */
    private static void reverseString2(String str) {
    
        if (str.length() == 1)
            System.out.println(str);
        else {
            String subString1 = str.substring(0, str.length() - 1);
            String subString2 = str.substring(str.length() - 1);
    
            System.out.print(subString2);
    
            reverseString2(subString1);
        }
    
    }
    
    /*
     * 定义成一个StringBuffer类,用StringBuffer类中的reverse()方法直接倒序字符串。
     */
    private static void reverseString3(String str) {
    
        StringBuffer buffer = new StringBuffer(str);
        System.out.println(buffer.reverse());
    
    }
    
    /*
     * 利用subString()方法,只不过循环输出
     */
    private static void reverseStringMy(String str) {
    
        StringBuffer a = new StringBuffer();
        String subString2 = "";
        for (int i = str.length(); i > 0; i--) {
            subString2 = str.substring(i - 1, i);
            a.append(subString2);
        }
        System.out.print("My:" + a);
    
        System.out.println("\t");
    }
    

    }

    评论

报告相同问题?

悬赏问题

  • ¥20 sub地址DHCP问题
  • ¥15 delta降尺度计算的一些细节,有偿
  • ¥15 Arduino红外遥控代码有问题
  • ¥15 数值计算离散正交多项式
  • ¥30 数值计算均差系数编程
  • ¥15 redis-full-check比较 两个集群的数据出错
  • ¥15 Matlab编程问题
  • ¥15 训练的多模态特征融合模型准确度很低怎么办
  • ¥15 kylin启动报错log4j类冲突
  • ¥15 超声波模块测距控制点灯,灯的闪烁很不稳定,经过调试发现测的距离偏大