黑马程序员技术交流社区
标题:
不用第三个变量让2个字符串交换,希望对大家理解String有所帮助
[打印本页]
作者:
pzfpang449
时间:
2013-2-8 17:41
标题:
不用第三个变量让2个字符串交换,希望对大家理解String有所帮助
String begin = "1000-06-01";
String end = "1000-06-30";
begin = begin + end;
end = begin.substring(10);//end ="1000-06-01"
begin = begin.substring(0,10);//begin = "1000-06-30"
用String java.lang.String.substring(int beginIndex, intendIndex);
来截取字符串来达到互换的目的
Java代码
public void method1(){
String a = "字符串a" ;
String b = "字符串b" ;
a = a + b;
b = a.substring(0,(a.length()-b.length()));
a = a.substring(a.length()-b.length(),a.length());//主要此时b.length()时转换前a的长度
System.out.println("a:"+a);
System.out.println("b:"+b);
}
作者:
胡发友
时间:
2013-2-8 21:58
同学,还是慢点,思考好了再发,我通过实验证明,你这个方法,只能用在字符串长度相等的情况下,如果不等,就会产生异常了
参考参考我的做法:这个方法才能实现两个字符串交换
package com.ifeng;
public class StringDemo {
public static void main(String [] args){
String str1 = "abcddddddkkkkkkkkjhhkhf";
String str2 = "abckkkkkkkkkkkjkjjklj";
str1 = str1+str2;
int len = str1.length()-str2.length();
str2 = str1.substring(0,(str1.length()-str2.length()));
str1 = str1.substring(len,str1.length());
System.out.println("a:" + str1 +"::"+str1.length());
System.out.println("b:"+str2 + "::" +str2.length());
}
}
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2