2013-03-15 2 views
11

मैं एक स्ट्रिंग, पूर्व के बीच में एक स्ट्रिंग रहना कोशिश कर रहा हूँ में एक स्ट्रिंग सम्मिलित करना?अन्य स्ट्रिंग जावा

संपादित करें: मुझे और अधिक स्पष्ट होना चाहिए था, मूल रूप से जो मैं करने की कोशिश कर रहा हूं वह "बंदर" को कई बार "बंदरपोनी" के बीच में डालना है, इसलिए पहली बार यह दूसरी बार "मोंकेमोन्कीपीनी" पढ़ेगा समय यह "MonkeMonMonkeykeyyPony" आदि पढ़ेगा

उत्तर

10

आपको दूसरी स्ट्रिंग पर पहली स्ट्रिंग के दो सबस्ट्रिंग को जोड़ना होगा।

// 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; 
} 
+0

इस लूप के रूप में अच्छी तरह तो बजाय सिर्फ बीच में यह डालने यह होगा MonkeMonMonMonMonkeykeykeykeyyPony एक तरह से वहाँ हो सकता है? – user2150807

+0

मूल प्रश्न को और स्पष्ट होने के लिए संपादित किया गया – user2150807

+0

यह कम कुशल होगा, लेकिन आप इस विधि को कुछ बार श्रृंखलाबद्ध कर सकते हैं। – corsiKa

19

आप इसे प्राप्त करने के लिए StringBuilder.insert (अनुक्रमणिका ऑफसेट, स्ट्रिंग मान) का उपयोग कर सकते हैं।

यह यहां उत्तर है: https://stackoverflow.com/a/13503345/2997442

16

आप इसे क्योंकि पाश पहले से ही मुख्य में नियंत्रित किया जाता है पाश की जरूरत नहीं है। तो आपको केवल स्ट्रिंग के सबस्ट्रिंग फ़ंक्शन का उपयोग करने की आवश्यकता है ताकि एक के पहले भाग के बने स्ट्रिंग को फिर से बनाया जा सके, फिर दूसरा, फिर पहले के दूसरे भाग में।

मुझे कैसे पता चलेगा कि लूप पहले से ही मुख्य है? क्योंकि मैंने आपको यह होमवर्क सौंपा है।

+10

उफ, वह डंक ... नहीं सोचा था कि आपका शिक्षक वह स्मार्ट था, अब आपने ... – WiErD0

0

आपको ऐसा करने के लिए स्ट्रिंगबिल्डर या किसी अन्य जटिल विधि का उपयोग करने की आवश्यकता नहीं है। इसे प्राप्त करने का सबसे आसान तरीका यहां दिया गया है। इस विधि में मैंने अभी सरल स्ट्रिंग विधियों का उपयोग किया है।

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))); 
      } 
     } 
    } 
संबंधित मुद्दे