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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© kuaiyi 中级黑马   /  2017-8-23 20:30  /  1110 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

[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));
}
}}

1 个回复

正序浏览
不如用正则表达式做,代码量少很多
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马