分享一个比较有意思的题目

这道题是老师前几天在课堂上的思考题,如下:

定义一个字符串,例如:“exe.jpg.asp.php”,得到最后的扩展名。

自己做出来三种方法,今天老师把每个班级写出来的给我们看了下,发现有几个写的不错,从代码来看对String的理解:

CODE1:

 1 package com.xlm;

 2 

 3 import java.util.StringTokenizer;

 4 

 5 public class T1 {

 6 

 7     static public String getKuo(String s){

 8         

 9         StringTokenizer st=new StringTokenizer(s,".");

10         int count=st.countTokens();

11         for(int i=0;i<count-1;i++){

12           st.nextToken() ;

13         }

14         return  st.nextToken();

15     }

16     public static void main(String[] args) {

17         String s="xlm.txt.exe.com.bmp.c.obj";    

18         String ss=T1.getKuo(s);

19         System.out.println(ss);

20     }

21 }

CODE2:

 1 package com.xlm;

 2 

 3 import java.util.StringTokenizer;

 4 

 5 public class T2 {

 6 

 7     

 8     public static String getKuo(String s){    

 9         StringTokenizer st=new StringTokenizer(s,".");

10         int size=st.countTokens();

11         String v[]=new String[size];

12         

13           for(int i=0;i<v.length;i++)  {

14               v[i]=st.nextToken();

15           }

16           return v[size-1];

17     }

18     public static void main(String[] args) {

19         String s="xlm.txt.exe.com.c";

20         String ss=T2.getKuo(s);

21         System.out.println(ss);     

22     }

23 }

CODE3:

 1 package com.xlm;

 2 

 3 import java.util.StringTokenizer;

 4 

 5 public class T3 {

 6 

 7     static public String getKuo(String s) {

 8 

 9         StringBuffer sb = new StringBuffer(s);

10         StringBuffer sbb = sb.reverse();

11         String ss = sbb.toString();

12 

13         StringTokenizer st = new StringTokenizer(ss, ".");

14         String ssss = st.nextToken();

15 

16         StringBuffer sbbbb = new StringBuffer(ssss);

17         String sv = sbbbb.reverse().toString();

18         return sv;

19     }

20 

21     public static void main(String[] args) {

22         String s = "xlm.com.exe.bmp.obj";

23         String v = T3.getKuo(s);

24         System.out.println(v);

25     }

26 }

CODE4:

 1 package com.xlm;

 2 

 3 public class T4 {

 4     public static void main(String[] args) {

 5         String str="benny.exe.txt.com.bat";

 6         String str2=str.replace("."," ");

 7         String words[]=str2.split("[ ]");

 8         System.out.println(words[words.length-1]);

 9     }

10 }

CODE5:

 1 package com.xlm;

 2 

 3 public class T5 {

 4 

 5     public String getExpandName(String s){

 6         String ss="";

 7         int t=0;

 8         for(int i=0;i<s.length();i++){

 9             int t1=s.indexOf('.',t);

10             if(t1!=-1){

11                 t++;

12             }

13         }

14         ss=s.substring(t);

15         return ss;

16     }

17     public static void main(String[] args) {

18         T5 t=new T5();

19         System.out.println(t.getExpandName("aaa.java.text.opm"));

20     }

21 

22 }

CODE6:

 1 package com.xlm;

 2 

 3 public class T6 {

 4 

 5     public static void show(String s){

 6         int d=s.length();

 7         for(int i=0;i<d;i++){

 8             if(s.substring(1,d).endsWith(".")){

 9                 System.out.println(s.substring(d));

10                 break;

11             }else{

12                 d--;

13             }

14         }

15     }

16     public static void main(String[] args) {

17               T6.show("dfgh.df.df.dfdfd");

18     }

19 

20 }

下面是最好的,佩服他的思路。

CODE7:

 1 package com.xlm;

 2 

 3 public class T7 {

 4     

 5         public static void show(String srt){

 6         System.out.println(str.substring(str.lastIndexOf(".")+1));

 7        }

 8 

 9     public static void main(String[] args) {

10         String t="exe.txt.xv.com";

11                 T7.show(t);

12     }

13 }

方法有很多种,今天下午在机房又写出来几种,但是都没有最后一个写的好,在此就不献丑了,如果你有更好的方法,欢迎回复,一起学习。

你可能感兴趣的:(分享)