我想一个字符串粘成的另一个字符串,当然中间:将一个字符串到另一个字符串中的Java
String One = "MonkeyPony";
String Two = "Monkey";
我怎么会把串两成字符串之一,所以它会读一些类似MonkeMonkeyyPony?
编辑︰我应该已经更清楚,基本上我想要做的是无数次插入“MonkeyPony”中间的“猴子”,所以第一次它会读第二次“MonkeMonkeyyPony”它会读取“MonkeMonkeykeyyPony”等。
我想一个字符串粘成的另一个字符串,当然中间:将一个字符串到另一个字符串中的Java
String One = "MonkeyPony";
String Two = "Monkey";
我怎么会把串两成字符串之一,所以它会读一些类似MonkeMonkeyyPony?
编辑︰我应该已经更清楚,基本上我想要做的是无数次插入“MonkeyPony”中间的“猴子”,所以第一次它会读第二次“MonkeMonkeyyPony”它会读取“MonkeMonkeykeyyPony”等。
您必须将第一个字符串的两个子字符串连接到第二个字符串的末尾。
// 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(index offset,String value)来实现此目的。
你并不需要循环,因为环路主已经处理。所以你只需要使用String的substring函数来重建一个由前半部分组成的字符串,然后是第二部分,然后是第一部分的另一半。
我怎么知道循环已经在主要?因为我给你分配了这个家庭作业。
呃,那个刺痛......没想到你的老师是那么聪明,现在你...... – WiErD0 2014-12-17 15:58:57
你不需要使用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)));
}
}
}
会有一种方式来循环这个以及所以而不是只是插入到中间它将MonkeMonMonMonMonkeykeykeykeyyPony? – user2150807 2013-03-15 22:32:22
编辑原始问题更清晰 – user2150807 2013-03-15 22:55:28
效率较低,但您可以将此方法链接几次。 – corsiKa 2013-03-16 23:37:40