文字处理题,我不知道错在哪里,求大神帮忙

有几组单词的对比,如果单词完全一致,得两分。如果单词长度一样,但是错了一个字,只得一分。其他为0分。

我写了代码,但是结果不对,求大神指教。非常感谢。

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.*;


public class Main {
    public static void main(String[] args) {
        // 自分の得意な言語で
        // Let's チャレンジ!!
        Scanner sc = new Scanner(System.in);
        String line = sc.nextLine();
        Integer number =Integer.parseInt(line);
        Integer sum=0;
        Integer countdiffrence=0;
        if(number>0){
        for (int i=0;i<number;i++){
        line=sc.nextLine();
        String[] ab= line.split(" ");
        String a = ab[0];
        String b = ab[1];
        if(a.length()==b.length()){
            if(a.equals(b)){
                sum+=2;
            }
          if(a!=b){
          for (int j = 0; j < a.length() && j < b.length(); ++j) {
              char oldone =a.charAt(j);
              char newone =b.charAt(j);
              if(oldone!=newone){
                  countdiffrence+=1;
                  if(countdiffrence<2){
                      sum+=1;
                  }
                  else{
                      sum+=0;
                  }
              }
            }
            
           }
         }
        
       }
        System.out.println(sum); 
         
     }
          
      }
    
}

      
    

 

哎,我知道,我就是不说,气不气,唉,就是玩儿

逻辑有点问题,修改一下:

if(a.length()==b.length()){
            if(a.equals(b)){
                sum+=2;
            }
          if(a!=b){
改为
    
if(a.equals(b)){
    sum+=2;
}else if(!a.equals(b) && a.length()==b.length()){
    //符合条件1分
    .....
}else{
        //0分
}

 

您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632