我试图将一个字符串插入另一个字符串的中间,例如:
String One = "MonkeyPony";
String Two = "Monkey";
我如何将字符串 2 放入字符串 1 中,这样它就会读到像 MonkeMonkeyyPony 这样的东西?
我想要做的是多次将“Monkey”插入“MonkeyPony”的中间,所以第一次它会读“MonkeMonkeyyPony”,第二次会读“MonkeMonkeyyPony”等等。
您必须将第一个字符串的两个子字符串连接到第二个字符串的末端。
// 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;
}
您可以使用StringBuilder.insert(int offset, String str)
来实现这一点。
StringBuilder builder = new StringBuilder("MonkeyPony");
for(/* As often as necessary */) {
int halfway = (int) (builder.length() / 2);
builder.insert(halfway, "Monkey");
} return builder.toString();
您不需要使用 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)));
}
}
}