我想一個字符串粘成的另一個字符串,當然中間:將一個字符串到另一個字符串中的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