交换两个字符串位置的Java程序

1 说明

在此程序中,我们需要交换两个字符串而不使用第三个变量。

Str1: Good Str2: morning

交换两个字符串通常需要一个临时的第三个变量。实现此目的的一种方法是将给定的两个字符串连接成第一个字符串。

Str1Str1 = Str1 + Str2= Goodmorning

使用子字符串(0,length(string1)-(string2))提取字符串2,即在我们的情况下,它将是substring(0,(11-4))。它将为字符串2分配好字符串,该字符串以绿色突出显示。

Str2 = Goodmorning

使用子字符串(length(string2))提取字符串1,即我们需要从length(string2)直到字符串结尾提取字符串。在我们的例子中,它将是substring(4)。它将为字符串1分配字符串morning,该字符串以绿色突出显示。

Str1 = Goodmorning

2 算法思路

  • 步骤1:开始
  • 步骤2:定义 Strings str1 = "Good ", str2 = "morning " 进行交换
  • 步骤3:在交换之前打印“字符串” str1,str2
  • 步骤4: str1 = str1 + str2
  • 步骤5:使用子串函数从indexes 0提取str1到length (str1) - (str2),并将其存储在str2中。
  • 步骤6:使用子字符串函数从索引长度(str2)提取str1直到结束,并将其存储在str1中。
  • 第7步:打印“Strings after swapping ” str1,str2。
  • 步骤8:结束

3 程序实现

/**
 * 一点教程网: http://www.yiidian.com
 */
public class SwapStrings     
{    
    public static void main(String[] args) {    
        String str1 = "Good ", str2 = "morning ";    
         System.out.println("Strings before swapping: " + str1 + " " + str2);    
        
        //Concatenate both the string str1 and str2 and store it in str1    
        str1 = str1 + str2;    
        //Extract str2 from updated str1    
        str2 = str1.substring(0, (str1.length() - str2.length()));    
        //Extract str1 from updated str1    
        str1 = str1.substring(str2.length());    
            
        System.out.println("Strings after swapping: " + str1 + " " + str2);    
    }    
} 

以上代码输出结果为:

Strings before swapping: Good morning
Strings after swapping: morning Good

 

热门文章

优秀文章