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

© 官珺伟 高级黑马   /  2014-3-23 07:53  /  1329 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 官珺伟 于 2014-3-23 10:43 编辑

编写程序,循环接收用户从键盘输入多个字符串,直到输入“end”时循环结束,并将所有已输入的字符串字典顺序倒序打印

3 个回复

倒序浏览
import java.util.Iterator;
import java.util.Scanner;
import java.util.Set;
import java.util.TreeSet;

public class Sequence
{
        public static void main(String[] args)
        {
                //定义排序接口
                Set<String> allSet = null ;
                allSet = new TreeSet<String>() ;
                //定义 输入对象
                Scanner input = new Scanner(System.in) ;
                String temp = null ;
                System.out.println("请输入:") ;
                while((!"end".equals(temp))&&(!"END".equals(temp)))
                {
                        temp = input.next() ;
                        allSet.add(temp) ;
                }
                //打印排序后的结果
                Iterator<String> iter = allSet.iterator() ;
                while(iter.hasNext())
                {
                        System.out.print(iter.next() + "、") ;
                }
        }
}
回复 使用道具 举报
  1. import java.util.Iterator;
  2. import java.util.Scanner;
  3. import java.util.Set;
  4. import java.util.TreeSet;

  5. public class Sequence
  6. {
  7.         public static void main(String[] args)
  8.         {
  9.                 //定义排序接口
  10.                 Set<String> allSet = null ;
  11.                 allSet = new TreeSet<String>() ;
  12.                 //定义 输入对象
  13.                 Scanner input = new Scanner(System.in) ;
  14.                 String temp = null ;
  15.                 System.out.println("请输入:") ;
  16.                 while((!"end".equals(temp))&&(!"END".equals(temp)))
  17.                 {
  18.                         temp = input.next() ;
  19.                         allSet.add(temp) ;
  20.                 }
  21.                 //打印排序后的结果
  22.                 Iterator<String> iter = allSet.iterator() ;
  23.                 while(iter.hasNext())
  24.                 {
  25.                         System.out.print(iter.next() + "、") ;
  26.                 }
  27.         }
  28. }
复制代码
回复 使用道具 举报
兄弟你是要把每一个字符串中的字符按字典顺序倒序输出,还是把字符串按首字母顺序的倒序输出?如果是前者的话我给你实现了一下。如果是后者,楼上的代码大都也有问题,不过稍加改动就可以了。
  1. public class Test {
  2.         public static void main(String[] args) {

  3.                 //定义数组容器
  4.                 ArrayList<String> arr = new ArrayList<String>();
  5.                 // 定义 输入对象
  6.                 Scanner input = new Scanner(System.in);
  7.                 String temp = null;
  8.                 System.out.println("请输入:");
  9.                 while (true) {
  10.                         temp = input.next();
  11.                         //将输入转化成大写与END判断,并且不把END加入到数组容器中
  12.                         if (temp.toUpperCase().equals("END")) {
  13.                                 break;
  14.                         }
  15.                         //将String转换为char
  16.                         char[] c = temp.toCharArray();
  17.                         //正序排序
  18.                         Arrays.sort(c);
  19.                         //转换成倒序
  20.                         String str = "";
  21.                         for(int i = c.length-1; i >= 0; i--){
  22.                                 str += c[i];
  23.                         }
  24.                         arr.add(str);
  25.                 }
  26.                
  27.                 // 打印排序后的结果
  28.                 Iterator<String> iter = arr.iterator();
  29.                 while (iter.hasNext()) {
  30.                         System.out.print(iter.next() + " ");
  31.                 }
  32.         }
  33. }
复制代码
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马