Java字符串比较的问题

问题描述

例如有两个字符串 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);}}

时间: 2024-11-01 04:50:09

Java字符串比较的问题的相关文章

java实现归并排序和树形排序(锦标赛制):java字符串分隔或的形式

String[] b=str.split("query|,");//query分隔或者逗号分隔 归并排序,递归实现 public class MergeSort2 { // 对data数组中的 [a,b) 区间的数据进行归并排序, // 排序结束后,[a,b)间数据处于升序有序状态 static void mergeSort(int[] data, int a,int b) { if (a >= b) return; int mid=(a+b)/2;//拆分排序 mergeSor

JAVA字符串转日期或日期转字符串

文章中,用的API是SimpleDateFormat,它是属于java.text.SimpleDateFormat,所以请记得import进来! 用法: SimpleDateFormat sdf = new SimpleDateFormat( " yyyy-MM-dd HH:mm:ss " ); 这一行最重要,它确立了转换的格式,yyyy是完整的公元年,MM是月份,dd是日期,至于 HH:mm:ss就不需要我再解释了吧! PS:为什么有的格式大写,有的格式小写,那是怕避免混淆,例如MM

Java字符串分割

1. java.lang.String 的 split() 方法, JDK 1.4 or later split public String[] split(String regex, int limit) 根据匹配给定的正则表达式来拆分此字符串. 此方法返回的数组包含此字符串的每个子字符串,这些子字符串由另一个匹配给定的表达式的子字符串终止或由字符串结束来终止.数组中的子字符串按它们在此字符串中的顺序排列.如果表达式不匹配输入的任何部分,则结果数组只具有一个元素,即此字符串. limit 参数

Java字符串排序中文+数字

  思路: 在Java中,排序需要复写的是 equals 方法 和 Comparable<T> 接口 的public int compareTo(T o); 方法 步骤: 1. 使用正则表达式来判断数字,多个连续的数字作为一组, 2. 一次检索出数字组合, 3. 检出下一组数字,如果有,则进入步骤4,否则进入步骤6. 4. 如果两组数字出现的位置相等,并且前面部分的字符串相等,则进入第5步.否则break,跳到第6步. 5. 如果前面部分的字符串完全一致.则比较两个数字的大小,如果大小一致,则

java字符串拆分,求解,在线等,急用

问题描述 java字符串拆分,求解,在线等,急用 [美元/日元] [超买超卖]请注意:美元/日元威廉指标出现超卖情况,指标利多,现价为109.17 这段话需要拆分成三部分: [美元/日元] [超买超卖] 请注意:美元/日元威廉指标出现超卖情况,指标利多,现价为109.17 求代码.谢谢 解决方案 Pattern p = Pattern.compile("(\[.*?\])\s+(\[.*?\])(.*)"); Matcher m = p.matcher("[美元/日元] [超

java字符串,查abcd出现的次数

问题描述 java字符串,查abcd出现的次数 为了弄清某类考试中,选择题答案abcd的分布情况,需要统计abcd出现的次数.现从键盘输入一行由abcd构成的答案字符串,统计并输出abcd出现的次数.(如果未出现,则次数输出0) 解决方案 http://www.2cto.com/kf/201412/361778.html 解决方案二: 你输入的字符串并不多的,可以把它们放到一个字符数组里,然后分别用a,b,c,d来和字符数组里的字符比较,然后定义三个变量,如果a和字符里某个角标的值相等, 就让一

java字符串转化小白求解!

问题描述 java字符串转化小白求解! 输入个人信息,将出生日期中的月日用*代替并输出. 老师出的题,做了4个多小时,实在不会做了,求教各位大神! 解决方案 Date的构造函数中,年是以1900开始的,因此输入的年份要减去1900,月份是0-11代表12个月,0代表1月份,因此输入的月份要减1.日是完全对应. int year = 1996; int month = 10; int day = 11; Date date = new Date(year - 1900 month - 1 day)

java字符串连接String、StringBuffer和StringBuilder

Java字符串连接再开发中随时用的,方法很多: 先看下下边的代码: package com.meiyabaike.classx; public class ClassxMathCalculate { public static void main(String[] args) { int i1 = 10; int i2 = 20; System.out.println("resultx1 :"+i1+i2); //Error: the operator - is undefined f

[Java开发之路]Java字符串的10大热点问题盘点

译文链接:http://www.html5tricks.com/10-top-questions-java-string.html英文原文:Top 10 questions of Java Strings翻译作者:蒋丽丽 下面我为大家总结了10条Java开发者经常会提的关于Java字符串的问题,如果你也是Java初学者,仔细看看吧: 1.如何比较字符串,应该用"=="还是equals()? 总的来说,"=="是用来比较字符串的引用地址,而equals()才是比较字符

jsp-怎么把JSON字符串转换成java字符串或数组或者集合

问题描述 怎么把JSON字符串转换成java字符串或数组或者集合 var chk_value =[]; $('input[name="zd_resourcecb"]:checked').each(function(){ chk_value.push($(this).val()); }); var chk_values = JSON.stringify(chk_value); jsp是这么写的 不过得到的是JSON字符串 ,我想要得到java类型的字符串或是数组什么的 解决方案 字符串反