2015-12-05 1 views
-4

Donc, je suis assez perdu. Voici ce que je suis chargé de faire. Je dois écrire une méthode Java nommée qui accepte deux chaînes (appelées vous et moi) comme arguments. La méthode retournera une chaîne composée du premier caractère de vous, puis le premier caractère de moi, ensuite le prochain personnage de vous, puis le prochain personnage de moi, et ainsi de suite. Par exemple: entrelacer (« abcdefg », « 1234 ») renvoie a1b2c3d4efgjava: réseaux de chaînes entrelacées?

+0

Lorsque vous posez une question, fournir votre extrait de code est très apprécié ... – Naruto

Répondre

0

Essayez ceci:

public static String combine(String you, String me) { 
     StringBuilder builder = new StringBuilder(); 
     for (int i = 0; i < me.length(); i++) { 
      if (i < you.length()) { 
       builder.append(you.charAt(i)); 
       builder.append(me.charAt(i)); 
      } else { 
       builder.append(me.charAt(i)); 
      } 
     } 
     return builder.toString(); 
    } 

Nous parcourons le second paramètre (doit être la plus longue pour que cela fonctionne correctement), puis ajouter chaque caractère à la chaîne. Cela fait tant que nous n'avons pas atteint la fin du premier argument (le plus petit). Après cela, il ajoute simplement le reste de la chaîne plus longue.

Donc, si nous System.out.println(combine("123456789", "abcdefghi"); le résultat sera 1a2b3c4d5e6f7g8h9i

0
public void modify(String a1, String b1){ 

    int index = 0; 

    int len1 = a1.length() > b1.length()? a1.length():b1.length(); 
    int len2 = a1.length() > b1.length()? b1.length():a1.length(); 

    for(int i=0;i<len1;i++){ 

     if(len2>0){ 
      System.out.print(""+a1.charAt(index)+b1.charAt(index)); 
      index++; 
      len2--; 
     } 
     else{ 

      if(i<a1.length()) 
      { 
       System.out.print(""+a1.charAt(index)); 
       index++; 
      } 
      else 
      { 
       System.out.print(""+b1.charAt(index)); 
       index++; 
      }      

     }   
    } 

Cette modifier() prend deux chaînes et quelle que soit la chaîne est plus grande, est stockée dans len1 et plus petit est stocké dans len2. 'Index' est utilisé pour extraire un indice particulier de la chaîne. La boucle 'for' itère sur une plus grande chaîne et imprime alternativement les deux chaînes. Ensuite, quelle que soit la chaîne la plus grande, le reste de son contenu est ajouté.

Par exemple: modify ("abcdefg", "1234") imprime a1b2c3d4efg.