Java 如何将一个字符串插入另一个字符串的中间?

Java 如何将一个字符串插入另一个字符串的中间?,java,string,insert,Java,String,Insert,我试图将一根线插入另一根线的中间,例如: String One = "MonkeyPony"; String Two = "Monkey"; 如何将字符串2放入字符串1中,使其读起来像monkemonkeyPONY 我想做的是在“MonkeyPony”中间插入“Monkey”无数次,所以第一次它会读“monkemonkeypony”,第二次它会读“monkemonkeypony”,等等。你必须把第一个字符串的两个子字符串连接到第二个字符串的末端 // put the marble in the

我试图将一根线插入另一根线的中间,例如:

String One = "MonkeyPony";
String Two = "Monkey";
如何将字符串2放入字符串1中,使其读起来像monkemonkeyPONY


我想做的是在“MonkeyPony”中间插入“Monkey”无数次,所以第一次它会读“monkemonkeypony”,第二次它会读“monkemonkeypony”,等等。

你必须把第一个字符串的两个子字符串连接到第二个字符串的末端

// 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=新的StringBuilder(“MonkeyPony”);
对于(/*视需要而定*/){
int中途=(int)(builder.length()/2);
建造商插入(中间为“猴子”);
}返回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)));
        }
    }
}

有没有一种方法可以循环使用它,而不是将它插入中间,它将是MonkeMonMonKeyyPONY?效率会更低,但是你可以将这个方法链接几次。这是最简单的方法吗?前几年的其他答案分别是1行和5行。这是25行,因为它们有调试语句,而且很简单,因为很容易一行一行地理解它在做什么。较短的代码!=“始终是最简单的方法”。@TylerH不加评论,如果这一个更简单,那么其他答案显然更可能更短,因为它们不是完整的程序文件;一个是方法定义,另一个是语句。它们不包括样板代码(或调试语句,正如Kaito所指出的那样),这就是答案does@Abdul是的,但他对围绕两个字符串的代码做了假设,我认为这两个字符串构成了噪声。当两个字符串都是已知常量时,为什么要使用扫描仪?@uniqiIdentifierAssignedAtBirth是两个已知常量的字符串吗?我在
中阅读
ex
我试图将一个字符串插入另一个字符串的中间,例如:
代表“example”,因此我将其解释为这两个字符串只是examples@TylerH到了那个时候,这个问题被问到了,规则并没有那么严格,在6年后将此标记为重复对海报不公平。@User2012384这与“公平”无关;SO的目的是提供一组问题和答案,这些问题和答案对将来遇到它们的人有用。清理旧的无用问题是其中的一部分,而且是完全有效的。问题不会因为太旧而通过。@User2012384将问题标记为重复问题对现有答案没有影响。@User2012384您不正确。当被问到这个问题时,关于复制品的规则和现在一样。这个问题在被问到那天是重复的;如果你点击,你会看到目标问题是两年前提出的。