zoukankan      html  css  js  c++  java
  • 分享一个比较有意思的题目

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

    定义一个字符串,例如:“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 }

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

  • 相关阅读:
    数据绑定控件的上下文Container dodo
    jquery的调试利器:Firebug使用详解 dodo
    Scrum中的角色 dodo
    jquery easyui datagrid的增加,修改,删除 dodo
    计划扑克(Planning Poker) dodo
    windows2003 IIS 服务启动失败,提示‘另一个程序正在使用此文件,进程无法访问',解决方法 dodo
    控件包含代码块(即 <% ... %>),因此无法修改控件集合 dodo
    AppendFormat System.FormatException: 输入字符串的格式不正确 dodo
    Scrum中的燃烧曲线(Burndown Chart) dodo
    在类中获取、使用当前页面 Page 对象的引用 dodo
  • 原文地址:https://www.cnblogs.com/sevck/p/4534238.html
Copyright © 2011-2022 走看看