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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 郑南 中级黑马   /  2016-1-26 00:12  /  808 人查看  /  12 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

从键盘接收一个字符串, 程序对其中所有字符进行排序,例如键盘输入: helloitcast程序打印:acehillostt


12 个回复

倒序浏览
可以试下集合,hashset,加进去就有顺序了,再遍历出来,不过好像不能重复~~~
回复 使用道具 举报
用TreeSet,写个比较器

评分

参与人数 1黑马币 +1 收起 理由
洋葱头头 + 1 赞一个!

查看全部评分

回复 使用道具 举报
接收输入流数据,存到字符数组中,利用Arrays.sort()排序后,打印
回复 使用道具 举报
可以用Collections 里面的排序方法
回复 使用道具 举报
字符串转成数组,利用Arrays.sort();或者for遍历字符串,存入list,Collections.sort(list)比较简单

评分

参与人数 1黑马币 +1 收起 理由
洋葱头头 + 1 神马都是浮云

查看全部评分

回复 使用道具 举报
zapoo 中级黑马 2016-2-16 21:14:52
7#
其实这很简单的也不用啥集合的,思路就跟数组的排序一样,我用冒泡排序写了一个,你可以看看
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, 下载次数: 11)

运行结果

运行结果

评分

参与人数 1技术分 +1 收起 理由
洋葱头头 + 1 很给力!

查看全部评分

回复 使用道具 举报
treeset集合,加比较器,
回复 使用道具 举报
zzh111 中级黑马 2016-2-17 23:26:45
9#
有点难度,求大神解答!
回复 使用道具 举报
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
回复 使用道具 举报
键盘录入字符串后,将其转换成字符数组,然后对字符数组中的元素进行排序,再转换成字符串输出即可
回复 使用道具 举报
我记得arraylist里面有一个sort()方法
回复 使用道具 举报
我记得arraylist里面有一个sort()方法
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马