【java例题】在字符串中找出连续最长的数字串【最简单】

使用HashMap的key存储数字字串,value存字串长度,考虑到HashMap存储无序,故改为LInkedHashMap,然后根据Map的value值排序,取出value值最大的map元素并输出,但是忽略一个特殊情况,就是当最大子串有若干个且相同,则map由于key不能重复,只会存储一个,故有缺陷

思路:先把字符串中的字母都变为空格,用split方法按照空格拼接成一个数组,把这个数组遍历,拿出来每个值
设置一个初始值 max=0,认为这个max是最大的,数组里每一个的length()都跟这个max比较,如果比max大,就赋值给max

package demo;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.Scanner;

public class example {
	
	public static void main(String[] args) {
	
			String str ="abcd12345ed125ss123058789"	;
			Scanner sc = new Scanner(System.in);
						
            while (sc.hasNextLine()) {         
            	List list = new ArrayList();
	            String s =	sc.nextLine();
	            String s1= s.replaceAll("[a-z]", " ");
	            //System.out.print("ppp"+s1);
	            String[] s2 =s1.split(" ");
                //System.out.print(s2.length);
                 for(int i=0;i index=new ArrayList();
        	     int max=0;
    	          for (int k=1;klist.get(max).length()) {
    	        		  max=k;
    	        		  index.clear();
    	        	  }else if(list.get(k).length()==list.get(max).length()) {
    	        		  index.add(k);
    	        	  }    	            	        	  
    	          }
    	          index.add(max);
    	          
    	          System.out.println("最大的数包括: ");
    	          for(int i = 0;i

最后输出的结果:

 wo 324 shij9090 3j903224442 cdnecir30
最大的数包括: 
903224442 

你可能感兴趣的:(java例题)