黑马程序员技术交流社区

标题: 思路怎么弄???想不出来啊 [打印本页]

作者: 郑南    时间: 2016-1-26 00:12
标题: 思路怎么弄???想不出来啊
从键盘接收一个字符串, 程序对其中所有字符进行排序,例如键盘输入: helloitcast程序打印:acehillostt



作者: 梁志斌    时间: 2016-1-26 00:52
可以试下集合,hashset,加进去就有顺序了,再遍历出来,不过好像不能重复~~~
作者: bby850632437    时间: 2016-1-26 11:12
用TreeSet,写个比较器
作者: Mayer    时间: 2016-1-26 13:57
接收输入流数据,存到字符数组中,利用Arrays.sort()排序后,打印
作者: 谁的苍茫    时间: 2016-2-16 15:35
可以用Collections 里面的排序方法
作者: 孟茹    时间: 2016-2-16 18:19
字符串转成数组,利用Arrays.sort();或者for遍历字符串,存入list,Collections.sort(list)比较简单
作者: zapoo    时间: 2016-2-16 21:14
其实这很简单的也不用啥集合的,思路就跟数组的排序一样,我用冒泡排序写了一个,你可以看看
package com.java.test;

import java.util.Scanner;

public class Test {

        /**
         *  helloitcast程序打印:acehillostt
         */
        public static void main(String[] args) {
                //创建键盘输入对象
                Scanner sc = new Scanner(System.in);
               
                System.out.println("请输入一个段字符串");
               
                //用line接收键盘输入的字符串
                String line = sc.nextLine();
               
                //把字符串变成字符数组
                char[] arr = line.toCharArray();
               
                //用for循环遍历该数组,如果数组的前一个字符比后一个大,则交换位置
                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]) {
                                        char ch = arr[j];
                                        arr[j] = arr[j + 1];
                                        arr[j + 1] = ch;
                                }
                        }
                       
                }
               
                //遍历字符数组,并转化成字符串
                for (int i = 0; i < arr.length; i++) {
                        System.out.print(arr[i] + "");
                }
        }

}

test.PNG (2.47 KB, 下载次数: 12)

运行结果

运行结果

作者: zhanganping    时间: 2016-2-16 21:15
treeset集合,加比较器,
作者: zzh111    时间: 2016-2-17 23:26
有点难度,求大神解答!
作者: Petergee    时间: 2016-2-18 17:01
package cn.itcast;

import java.lang.reflect.Array;
import java.util.Arrays;
import java.util.Scanner;

public class ArraySort {
public static void main(String[] args) {
        //键盘录入
        Scanner sc=new Scanner(System.in);
        System.out.println("请输入你要的数据:");
        String s=sc.nextLine();               
        char[] arr=s.toCharArray();
        //排序
        Arrays.sort(arr);
        //遍历数组
        for(int x=0;x<arr.length;x++)
        {
         System.out.print(arr[x]);
        }       
}
}
请输入你要的数据:
helloitcast
acehillostt
作者: WestdoorEmperor    时间: 2016-2-18 18:41
键盘录入字符串后,将其转换成字符数组,然后对字符数组中的元素进行排序,再转换成字符串输出即可
作者: kfzxh0    时间: 2016-2-18 20:25
我记得arraylist里面有一个sort()方法
作者: kfzxh0    时间: 2016-2-18 20:27
我记得arraylist里面有一个sort()方法




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2