java让如何两个不相同长度 字符串相等?

例:
string c=“abcdefghijklmn”
string d=“abc”
我想要的是将abc循环出多个abc最终让d=“abcabcabcabc..”与c的长度相等

使用 String.compareTo 方法:

compareTo() 的返回值是int, 它是先比较对应字符的大小(ASCII码顺序)
1、如果字符串相等返回值0
2、如果第一个字符和参数的第一个字符不等,结束比较,返回他们之间的差值(ascii码值)(负值前字符串的值小于后字符串,正值前字符串大于后字符串)
3、如果第一个字符和参数的第一个字符相等,则以第二个字符和参数的第二个字符做比较,以此类推,直至比较的字符或被比较的字符有一方全比较完,这时就比较字符的长度.

例:
String s1 = "abc";
String s2 = "abcd";
String s3 = "abcdfg";
String s4 = "1bcdfg";
String s5 = "cdfg";
System.out.println( s1.compareTo(s2) ); // -1 (前面相等,s1长度小1)
System.out.println( s1.compareTo(s3) ); // -3 (前面相等,s1长度小3)
System.out.println( s1.compareTo(s4) ); // 48 ("a"的ASCII码是97,"1"的的ASCII码是49,所以返回48)
System.out.println( s1.compareTo(s5) ); // -2 ("a"的ASCII码是97,"c"的ASCII码是99,所以返回-2)追问

能不能看清楚在回答

温馨提示:答案为网友推荐,仅供参考
第1个回答  2020-05-05
不要想象它是代码就行了,这还不简单吗

2个字符串,一个长一个短,要把短的凑成跟长的一样长
1,知道2个字符串长度
2,计算凑几次

1,长度就简单了,调用string.length()方法就拿到了
2,循环几次,这不就是除法,求商和余数嘛,商作为循环短字符串次数。用个循环拼起来就行,余数不就是截取短字符串字符数,用string.substr()截取就行

当然拼接的时候用stringbuilder或者stringbuffer就好,毕竟性能好嘛追问

能不能详细说一下为啥求余啊,其它的我都知道,

追答

求余不就是为了最后一次吗…只能截取短字符串一部分…
比如长字符串13个字符,短字符串5个字符,循环2次10,还有3个字符得截取啊
13/5=2余3

这么难的吗…

追问

..赤裸裸的嘲讽

本回答被提问者和网友采纳