Programa Java para intercambiar dos strings sin usar ninguna tercera variable

Dadas dos variables de string, a y b, su tarea es escribir un programa Java para intercambiar estas variables sin usar ninguna variable temporal o tercera. Se permite el uso de métodos de biblioteca.

Ejemplos: 

Input: a = "Hello"
       b = "World"

Output:
Strings before swap: a = Hello and b = World
Strings after swap: a = World and b = Hello

Método: para intercambiar dos variables de string sin usar ninguna variable temporal o tercera, la idea es usar métodos de concatenación de strings y substring() para realizar esta operación. El método substring() viene en dos formas, como se indica a continuación: 

  • substring(int beginindex): esta función devolverá la substring de la string de llamada a partir del índice pasado como argumento a esta función hasta el último carácter de la string de llamada. 
  • substring(int beginindex, int endindex): esta función devolverá la substring de la string de llamada que comienza desde beginindex (inclusivo) y termina en endindex (exclusivo) pasado como argumento a esta función. 
     

Algoritmo: 

1) Append second string to first string and 
   store in first string:
   a = a + b

2) call the method substring(int beginindex, int endindex)
   by passing beginindex as 0 and endindex as,
      a.length() - b.length():
   b = substring(0,a.length()-b.length());

3) call the method substring(int beginindex) by passing 
   b.length() as argument to store the value of initial 
   b string in a
   a = substring(b.length());

Código:

Java

// Java program to swap two strings without using a temporary
// variable.
import java.util.*;
  
class Swap
{    
    public static void main(String args[])
    {
        // Declare two strings
        String a = "Hello";
        String b = "World";
          
        // Print String before swapping
        System.out.println("Strings before swap: a = " + 
                                       a + " and b = "+b);
          
        // append 2nd string to 1st
        a = a + b;
          
        // store initial string a in string b
        b = a.substring(0,a.length()-b.length());
          
        // store initial string b in string a
        a = a.substring(b.length());
          
        // print String after swapping
        System.out.println("Strings after swap: a = " + 
                                     a + " and b = " + b);        
    }    
}
Producción

Strings before swap: a = Hello and b = World
Strings after swap: a = World and b = Hello

Este artículo es una contribución de Harsh Agarwal . Si te gusta GeeksforGeeks y te gustaría contribuir, también puedes escribir un artículo usando write.geeksforgeeks.org o enviar tu artículo por correo a review-team@geeksforgeeks.org. Vea su artículo que aparece en la página principal de GeeksforGeeks y ayude a otros Geeks. Escriba comentarios si encuentra algo incorrecto o si desea compartir más información sobre el tema tratado anteriormente.

Publicación traducida automáticamente

Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *