中易网

怎样比较Java字符串长度

答案:5  悬赏:50  
解决时间 2021-01-25 09:14
怎样比较Java字符串长度
最佳答案
import java.util.*; public class Test { public static void main(String[] args) { Map src=new Hashtable(); System.out.println("请输入字符串#最后以空格结束输入!"); Scanner input=new Scanner(System.in); String str=input.nextLine(); while(!str.equals(" ")) { map.put(str.length(), str); str=input.nextLine(); } Set key=map.keySet(); int[] sort=new int[key.size()]; int i=0; for(int num:key) { sort[i]=num; i++; } Arrays.sort(sort); System.out.println("最长字符串是:"+map.get(sort[sort.length-1])); } }
求采纳
全部回答
我暂时保留我的看法!
import java.io.Console; public class Test { private static String psLongestString = ""; public static void main(String[] args) throws Exception { Console console = System.console(); // 获得Console实例对象 String lsInputString = new String(console.readLine("输入月份:")); // 读取整行字符 CheckLongestString(lsInputString); while (!lsInputString.trim().isEmpty()) { lsInputString = new String(console.readLine("输入月份:")); CheckLongestString(lsInputString); } console.printf("最长的字符串为:" + psLongestString + "\n"); // 输出结果 } private static void CheckLongestString(String asInput) { if (asInput.length() > psLongestString.length()) { psLongestString = asInput; } } } ps. 本程序在Jdk6环境下运行通过,请确保你的环境是1.6否则不支持本程序中的System.console。如果是Jdk6以下的版本,那么读取控制台输入流的方法请参考楼上那位朋友的做法,比较原始 :),不过向下兼容。如果还有疑问可以向我提问,乐意帮助。
楼上给出的方法已经很多了,只是少了一个判断,楼主似乎也没考虑到,就是当输入的最大长度字符存在多个的时候,是不是应该将所有的最大长度字符列出呢,感觉这样比较全面。 例如输入的分别是: aaaaaaa bbbbbbbbb ccccccccc ddddddddd eeeee 结果最大长度的字符有3个。所以我添加了一个判断,至于方法比较普通,只是说明问题。 import java.util.ArrayList; import java.util.Scanner; public class Testdemo { public static void main(String[] args){ String str="";//存储输入的字符串 String maxStr="";//最大字符串 ArrayList<String> equalstr=new ArrayList<String>();//相等的字符串集合 Scanner input =new Scanner(System.in); ArrayList<String> arrayStr=new ArrayList<String>();//存储字符串集合 System.out.println("input:"); while(true){ System.out.print("请输入:"); str=input.nextLine(); arrayStr.add(str); if(str.equals(" ")){ break; } } maxStr=arrayStr.get(0);//默认第一个元素为最大值 //比较所有元素,找出最大值 for(int i=0;i<arrayStr.size()-1;i++){ if(arrayStr.get(i+1).length()>maxStr.length()){ maxStr=arrayStr.get(i+1); } else if(arrayStr.get(i+1).length()==maxStr.length()){ equalstr.add(arrayStr.get(i+1)); } } System.out.println("output:"); String s=""; if(equalstr.size()>0){ for(int j=0;j<equalstr.size();j++){ if(equalstr.get(j).length()==maxStr.length()){ s=s+equalstr.get(j)+" and "; } } System.out.println("最长字符:"+s+maxStr); } else{ System.out.println("最长字符:"+maxStr); }} }
用一个集合保存每次用户输入的字符串 当输入空格后,就开始便利集合中的每一个字符串,然后对比获得最大长度就行了。
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
算命到底准不准?为什么有人说准,有人说不准
33除以8是大于4还是等于四
忠孝之道,安得两全!既辞亲事君,父母安得而
东鹏洁具怎么去啊,有事要去办理
天高云淡是一种人生理想,谁都向往自由,只是
《背着奶奶进城》中,释小龙出现在第几集?
请留下一片芳香作文400字
女字中间加一个•是什么字?
铅球怎么仍的远
五星级酒店游泳培训(人民广场店)地址在什么地
PP一R给水管的耐压等级怎么区分。
3.53Ⅹ1001用简便方353ⅹ1001用简便方法计算
“归骨于田横之岛”是什么意思
你好,刚才这道题如何讲解
大话2容止仙吃克符还是狂暴符
推荐资讯
江都体育管丘丘球辅导班多少钱一个月
电线的型号怎么区分,其多少平方的线铜芯直径
墨鱼和密斗鱼有什么区别?
2ne1 ugly 带歌词的,谢谢
来福源汽车维修有限公司地址有知道的么?有点
才存村地址好找么,我有些事要过去
为什么叫反刍动物?
土壤沙化的我国沙漠化现状
求德语大神帮忙求翻译,求解答
求,电脑桌面壁纸,景色山水,护眼,不能太乱
装机电脑,求搭配
A股和港美有什么区别
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?