求JAVA算法:从控制台接收两个字符串,要求进行拼接并输出? 形如:ABCDEFG 12345 拼接后为 A5B4C3D2E1FG

一个正向,一个反向,然后拼接!

经过测试,可以实现你的功能:
import java.util.Scanner;public class StringSplit {
public static void main(String[] args){
Scanner in = new Scanner(System.in);
System.out.print("请输入第一个字符串:");
String str1 = in.next();
System.out.print("请输入第二个字符串:");
String str2 = in.next();

System.out.print("调整后的结果为:");
for( int i = 0;i<str1.length();i++ ){
System.out.print(str1.charAt(i));
for( int j = str2.length()-i-1;j>=0;j-- ){
System.out.print(str2.charAt(j));
if( i == str1.length()-1 )
continue;
else
break;
}
}
System.out.println();
}
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-09-10
public static void main(String[] args) {
String s1="ABCD";
String s2 = "1234";
char[] c1 = s1.toCharArray();
char[] c2 = s2.toCharArray();
for(int i=0;i<(c2.length)/2;i++){
char tem = c2[i];
c2[i] = c2[c2.length-i-1];
c2[c2.length-i-1] = tem;
}
System.out.println(Arrays.toString(c2));//降序

char[] newChars = new char[s1.length()+s2.length()];//拼接
for(int j=0;j<c1.length;j++){
if(j>=c1.length || j>=c2.length) break;

newChars[2*j]=c1[j];//假设s1的字符先,s2跟在s2后面。
newChars[2*j+1] = c2[j];//如果想让s2先,就把c1[j]和c2[j]互换位置
}

System.out.println("SS+=="+Arrays.toString(newChars));
}
相似回答