本帖最后由 葛晓东 于 2014-6-3 23:45 编辑
- /**
- * 自己实现String类的equals方法
- *"asda"
- * "fds"
- *一个一个的比,将每一个字符单独提出来比较,必须数组完成
- * 字符串怎么转成数组 toCharArray()
- * 遍历数组
- * 每个每个比较
- * 只要你发现有一个不一样,程序就结束了,结果false
- */
- /*
- * 分析:
- * 1,所谓equals方法就是比较每一个字符是否相同
- * 2,首先将字符串转换为字符数组
- * 3,先判断数组长度是否相同,如果不同,直接false
- * 4,如果长度相同,遍历数组,比较两个字符数组中相同脚标上的元素
- */
- public class Test {
- public static void main(String[] args) {
- //定义两个数组
- String firstString = "asda";
- String secondString = "asda";
- //将字符串转换为字符数组,调用toCharArray();并定义数组接收
- char[] chArray1=firstString.toCharArray();
- char[] chArray2=secondString.toCharArray();
- //调用compareArray()方法,直接输出结果
- compareArray(chArray1,chArray2);
- }
- //定义比较方法
- public static void compareArray(char[] chArray1,char[] chArray2){
- //先判断两个数组的长度是否相同
- if (chArray1.length!=chArray2.length) {
- System.out.println("两个字符串不相等");
- }
- //如果两个数组长度相同,用for循环遍历数组,比较每个相同脚标位上的元素
- else {
- //定义compare记录chArray1[i]!=chArray2[i]的值
- boolean compare;
- for(int i = 0; i < chArray1.length; i++) {
- compare = chArray1[i]!=chArray2[i];
- //比较每个脚标上的元素,如果出现有一个不同就输出"字符不串相等"
- if(compare){
- System.out.println("两个字符串不相等");
- break;
- }
- }
- //如果chArray1[i]==chArray2[i],就输出"字符串相等"
- if(!compare)
- System.out.println("两个字符串相等");
- }
- }
- }
复制代码 |