java中交换两个字符串的值

 

输入  cc   java    

输出   java   cc

方法一:先新建一个中间变量 ,然后直接交换

import java.util.Scanner;
public class Main{
	public static void main(String[] args) {
		Scanner sc=new Scanner(System.in);
		String str1=sc.next();
		String str2=sc.next();
                String 	s3="";  //新建空字符串,作中间变量
                // String s3=str1; 
                s3=str1;
	        str1=str2;
	   	str2=s3;
               System.out.println(str1+" "+str2);
  }
}

方法二:利用StringBuffer的append将两个字符串相加,再用subString截取字符串(ps:StringBuffer在进行字符串处理时,不生成新的对象,在内存使用上要优于String类。当遇到插入、删除等字符串操作时,可以考虑用StringBuffer。)

import java.util.Scanner;
public class Main{
	public static void main(String[] args) {
		Scanner sc=new Scanner(System.in);
		String str1=sc.next();
		String str2=sc.next();
                StringBuffer s3 = new StringBuffer();
		s3.append(str1).append(str2);      //将字符串1和2合并
		str2 = s3.toString().substring(0,str1.length());  //str2从合并的字符串中截取str1
		str1 = s3.toString().substring(str1.length());	//str1从合并的字符串中截取从str1长度起后面的字符串,即为str2
//通过以上两步实现了交换
                System.out.println(str1+" "+str2);
   }
}

 方法三:先将两个字符串相加成一个新的字符串,再用subString截取字符串

import java.util.Scanner;
public class Main{
	public static void main(String[] args) {
		Scanner sc=new Scanner(System.in);
		String str1=sc.next();
		String str2=sc.next();
                str1=str1+str2;  //str1已经变了
		str2=str1.substring(0,str1.length()-str2.length());
                str1=str1.substring(str2.length());
                System.out.println(str1+" "+str2);
  }
}

 

你可能感兴趣的:(java中交换两个字符串的值)