zoukankan      html  css  js  c++  java
  • java实现字符串比较

    标题:字符串比较
    
    我们需要一个新的字符串比较函数compare(s1, s2).
    对这个函数要求是:
    1. 它返回一个整数,表示比较的结果。
    2. 结果为正值,则前一个串大,为负值,后一个串大,否则,相同。
    3. 结果的绝对值表示:在第几个字母处发现了两个串不等。
    
    下面是代码实现。对题面的数据,结果为:
    -3
    5
    
    仔细阅读源程序,填写划线位置缺少的代码。
    
    -------------------------------------------------
    Java语言代码:
    
    static int compare(String s1, String s2)
    {
        if(s1==null && s2==null) return 0;
        if(s1==null) return -1;
        if(s2==null) return 1;
        
        if(s1.isEmpty() && s2.isEmpty()) return 0;
        if(s1.isEmpty()) return -1;
        if(s2.isEmpty()) return 1;
        
        char x = s1.charAt(0);
        char y = s2.charAt(0);
        
        if(x<y) return -1;
        if(x>y) return 1;
        
        int t = compare(s1.substring(1),s2.substring(1));
        if(t==0) return 0;
        
        return ____________________ ; //填空位置
    }
    
    public static void main(String[] args)
    {
        System.out.println(compare("abc", "abk"));
        System.out.println(compare("abc", "a"));
        System.out.println(compare("abcde", "abcda"));            
    }
    
    ---------------------------
    C/C++ 语言代码:
    int compare(const char* s1, const char* s2)
    {
        if(s1==NULL && s2==NULL) return 0;
        if(s1==NULL) return -1;
        if(s2==NULL) return 1;
        
        if(*s1 == 0 && *s2== 0) return 0;
        if(*s1 == 0) return -1;
        if(*s2 == 0) return 1;
        
        if(*s1<*s2) return -1;
        if(*s1>*s2) return 1;
        
        int t = compare(s1+1,s2+1);
        if(t==0) return 0;
        
        return __________________________; //填空位置
    }
    
    
    int main()
    {
        printf("%d
    ", compare("abc","abk"));
        printf("%d
    ", compare("abc","a"));
        printf("%d
    ", compare("abcde","abcda"));
        return 0;
    }
    
    注意:
    只提交划线部分缺少的代码,不要包含已经存在的代码或符号。
    也不要画蛇添足地写出任何注释或说明性文字。
    
    注意选择你所使用的语言。
    
    t < 0 ? (Math.abs(t) + 1) * -1 : (Math.abs(t) + 1)
    
  • 相关阅读:
    2020.10.23 19级training 补题报告
    2020.10.17 天梯赛练习 补题报告
    2020.10.16 19级training 补题报告
    2020.10.9 19级training 补题报告
    2020.10.10 天梯赛练习 补题报告
    2020.10.3 天梯赛练习 补题报告
    2020.10.2 19级training 补题报告
    第十届山东省ACM省赛复现补题报告
    VVDI Key Tool Plus Adds VW Passat 2015 Key via OBD
    Xhorse VVDI Prog Software V5.0.3 Adds Many MCUs
  • 原文地址:https://www.cnblogs.com/a1439775520/p/13077800.html
Copyright © 2011-2022 走看看