有几组单词的对比,如果单词完全一致,得两分。如果单词长度一样,但是错了一个字,只得一分。其他为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