我试图将一个字符串粘贴到另一个字符串的中间,例如:
String One = "MonkeyPony";
String Two = "Monkey";
我如何将字符串2放入字符串1中,以便读取类似MonkeMonkeyyPony的内容?
编辑:我应该更清楚,基本上我要做的就是多次将“Monkey”插入“MonkeyPony”的中间,所以第一次它会在第二次读到“MonkeMonkeyyPony”它会读作“MonkeMonMonkeykeyyPony”等。答案 0 :(得分:21)
您不需要循环它,因为循环已在main中处理。所以你只需要使用String的子串函数来重建一个由前半部分构成的字符串,然后是第二部分,然后是第一部分的另一半。
我怎么知道循环已经在主?因为我给你做了这个功课。
答案 1 :(得分:20)
您可以使用StringBuilder.insert(索引偏移量,字符串值)来实现此目的。
答案 2 :(得分:12)
你必须将第一个字符串的两个子串连接到第二个字符串的末尾。
// put the marble in the bag
public static String insert(String bag, String marble, int index) {
String bagBegin = bag.substring(0,index);
String bagEnd = bag.substring(index);
return bagBegin + marble + bagEnd;
}
答案 3 :(得分:0)
您不需要使用StringBuilder或任何其他复杂方法来执行此操作。这是实现这一目标的最简单方法。在这个方法中,我刚刚使用了简单的String方法。
import java.util.Scanner;
class Insert
{
public static void main(String[] args)
{
System.out.println("Enter First String");
Scanner scan = new Scanner (System.in);
String str = scan.next();
System.out.println("Enter Second String");
Scanner scan2 = new Scanner (System.in);
String str1 = scan2.next();
int i = str.length();
int j = i/2;
if (i % 2 == 0) //Condition For Even
{
System.out.println(str.substring(0,j) + str1 + str.substring(j-1,(str.length() - 1)));
}
else
{
System.out.println(str.substring(0,j) + str1 + str.substring(j,(str.length() - 0)));
}
}
}