搜狐笔试

搜狐java笔试第三题  比较版本号大小,本地没问题,提交就有问题,求大神看看代码,指出问题。不胜感激

import java.util.Scanner;

public class sh8 {
      public static void main(String[] args) {
            Scanner in = new Scanner(System.in);
            String s1=in.next();
            String s2=in.next();
          //  System.out.println(delete(s1));
          
            System.out.println(test(delete(s1),delete(s2)));
      }
      
      public static int test(String a,String b){
          int flag=0;
          char[] aa=a.toCharArray();
          char[] bb=b.toCharArray();
          int i=0,j=0;
          System.out.println(aa.length);
          while(i<aa.length && i<bb.length){
              if(aa[i]>bb[i]) {
                  flag=1;
                  break;
              }
              else if(aa[i]<bb[i]){
                  flag=-1;
                  break;
              }
              else{
                  System.out.println("****");
                  i++;
                  if(aa.length>bb.length){
                      flag=1;
                    
                  }
                  else if(aa.length<bb.length){
                      flag=-1;
                      }
                  else{
                      flag=0;
                  }
              }
            
          }
        
        return flag;
    
      }
      
      public static String delete(String s){
          StringBuffer sb=new StringBuffer(s);
          for(int i=0;i<sb.length();i++){
             if(sb.charAt(i)=='.'){
                 sb.deleteCharAt(i);
             }
            
          }
          return sb.toString();
      }

}
 
#笔试题目##搜狐#
全部评论
1.00     1    你的输出是0吗
点赞 回复 分享
发布于 2018-09-13 20:53
一样,我觉得原因是他的输入是在一行上
点赞 回复 分享
发布于 2018-09-13 23:39
一楼说的对,aa.length>bb.length还要判断aa的剩余部分是不是都是0
点赞 回复 分享
发布于 2018-09-13 23:50
package shixi; import java.util.Scanner; public class sh8_1 {     public static void main(String[] args) {           Scanner in = new Scanner(System.in);             String s1=in.next();             String s2=in.next();             if(s1.length()==1) s1+=".0.0.0";             else if(s1.length()==3) s1+=".0.0";             else if(s1.length()==5) s1+=".0";             if(s2.length()==1) s2+=".0.0.0";             else if(s2.length()==3) s2+=".0.0";             else if(s2.length()==5) s2+=".0";                          if(s1.compareTo(s2)>0) System.out.println(1);             else if(s1.compareTo(s2)<0) System.out.println(-1);             else{System.out.println(0);}     } }
点赞 回复 分享
发布于 2018-09-14 09:24
leetcode 原题,可以去看下哪些样例没过
点赞 回复 分享
发布于 2018-09-14 09:46

相关推荐

死在JAVA的王小美:哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈,我也是,让我免了一轮,但是硬气拒绝了
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务