黑马程序员技术交流社区

标题: 请问这道题该如何做? [打印本页]

作者: roybill    时间: 2015-6-20 08:24
标题: 请问这道题该如何做?
//从键盘输入6个字符串(仅仅包含英文字母和数字),对这6个字符串从小到大排列并输出结果。
作者: 陌上桑    时间: 2015-6-20 08:40
拙见:
   1) 用输入流接收,转字符,存缓冲区
   2) 字符串转字符数组
   3) 字符char 可以直接比较了
作者: roybill    时间: 2015-6-20 16:35
我只是做出了一半,请问还有大神能解决吗?
作者: 林RM    时间: 2015-6-20 17:59
不知道是不是这样
  1. import java.io.*;
  2. import java.util.*;
  3. class TestDemomo
  4. {
  5.         public static void main(String[] args) throws IOException
  6.         {
  7.                 //定义一个集合存储字符对象,可以重复
  8.                 ArrayList<Character> al=new ArrayList<Character>();
  9.                 //获取键盘录入
  10.                 BufferedReader bufr=new BufferedReader(new InputStreamReader(System.in));
  11.                 //读取键盘录入字符串
  12.                 String line=null;
  13.                 while ((line=bufr.readLine())!=null)
  14.                 {
  15.                         //键盘录入结束标记
  16.                         if("over".equals(line))
  17.                                 break;
  18.                         //将接受到的字符串变为字符数组
  19.                         char[] chs=line.toCharArray();
  20.                         //遍历数组,遍历的过程中将字符变为字符对象存进集合
  21.                         for(char c:chs)
  22.                         {
  23.                                 //System.out.println(Character.valueOf(c));
  24.                                 al.add(Character.valueOf(c));
  25.                         }
  26.                         //给集合中的元素进行自然顺序排序
  27.                         Collections.sort(al);
  28.                         //System.out.println(ts);
  29.                         //遍历集合元素
  30.                         Iterator it=al.iterator();
  31.                         while (it.hasNext())
  32.                         {
  33.                                 //将元素变为字符串打印
  34.                                 System.out.print(it.next().toString());
  35.                         }
  36.                         System.out.println();
  37.                         //清空集合元素
  38.                         al.clear();
  39.                 }
  40.                
  41.                
  42.         }
  43. }
复制代码

作者: guiqulaixi    时间: 2015-6-20 19:51
1 找一个可以排序的集合,比如treeset
2 将字符串一个个装入集合
3 循环集合打印
作者: Monster    时间: 2015-6-20 20:43
TreeSet也可以吧
作者: Tangni    时间: 2015-6-20 22:49
1.创建键盘录入对象,记得导包 2 .将字符串转换为字符串数组 3.Arrays类自动进行升序排序4.遍历数组




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