黑马程序员技术交流社区

标题: 第二题(我写的太复杂了) [打印本页]

作者: kuaiyi    时间: 2017-8-23 20:30
标题: 第二题(我写的太复杂了)
[Java] 纯文本查看 复制代码
import java.util.Collections;
import java.util.Comparator;
import java.util.LinkedList;
import java.util.Scanner;
class bijiaoqi implements Comparator<String>{

        @Override
        public int compare(String o1, String o2) {
                // TODO Auto-generated method stub
                int temp=o1.length()-o2.length();
                return temp==0?o1.compareTo(o2):temp;
        }
       
}

/*
* 提示用户从控制台输入若干个单词,每个单词用空格隔开,
* 分别统计出最长和最短的单词,并打印到控制台上。
*/
public class test1 {
public static void main(String[] args) {
        //System.out.println("b".compareTo("a"));
        Scanner s=new Scanner(System.in);int num=0;
LinkedList<String>list=new LinkedList<String>();//存储输入字母的集合
LinkedList<String>list1=new LinkedList<String>();//存储最短字母集合
LinkedList<String>list2=new LinkedList<String>();//存储最长字母集合
        for(int j=0;j<4;j++)//输入四个字母
        {
                String s1=s.nextLine();
                list.add(s1);
                list.add(" ");
        }
//        System.out.println(list);
//        System.out.println(list.get(1));
        Collections.sort(list,new bijiaoqi());
       
        System.out.println(list);
        for(int j=4;j<list.size();j++)//分别将最短字符串与最长字符串存入
        {
                if((list.get(4).length())==(list.get(j).length())){
                        list1.add(list.get(j));
                }
                if((list.get(7).length())==(list.get(j).length())){
                        list2.add(list.get(j));
                }
        }
        for(int k=0;k<list1.size();k++){
        System.out.println("最短的字母"+list1.get(k));
}
for(int k=0;k<list2.size();k++){
        System.out.println("最长的字母"+list2.get(k));
}
}}

作者: zx52159487    时间: 2017-8-23 21:38
不如用正则表达式做,代码量少很多




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