问题描述
例如有两个字符串 String str1 ="www.iteye.com"; String str1 ="www.oteye.com"; 这两个字符串只相差一个字符,如何使用JAVA写程序,用简单的方法来判断两个字符串是否只相差一个字符? 问题补充:补充:1、两个字符串需要长度一致2、只相差一个字母
解决方案
楼上的代码根本不能运行。 修改后的public class Test1 { public static void main(String[] args) {check("www.iteye.com", "www.oteye.com");} /** * @param args */ public static void check(String s1, String s2) { int k = 0; if(s1.length() == s2.length()){ for(int i=0,j=0;i<s1.length();i++){ if(s1.charAt(i) != (s2.charAt(i))){ k = ++j; } } if(k == 1 ) { System.out.println("只差一个字符"); } else { System.out.println("不只差一个字符"); } }else{ System.out.println("两字符串长度不等"); } } }
解决方案二:
根据你的补充,我也再补充下吧public class Test1 { /** * @param args */ public static void main(String[] args) { String s1 = "www.iteye.com"; String s2 = "www.oteye.com"; int k = 0; if(s1.size() == s2.size()){ for(int i=0,j=0;i<s1.length();i++){ if(s1.charAt(i) != (s2.charAt(i))){ k = ++j; } }else{ System.out.println("两字符串长度不等"); } } }
解决方案三:
上面代码不需要判断吗? 如果长度不一样不会报错吗?
解决方案四:
"aaabbb"和"aaaxbbb"算不算只相差一个字符
解决方案五:
按照你给的条件,两个String的长度应该相等吧public class Test1 {/** * @param args */public static void main(String[] args) {String s1 = "www.iteye.com";String s2 = "www.oteye.com";int k = 0;for(int i=0,j=0;i<s1.length();i++){if(s1.charAt(i) != (s2.charAt(i))){k = ++j;}}System.out.println(k);}}