欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

JAVA--将字符串(或部分字符串)反转

程序员文章站 2022-04-30 10:22:46
...

目标

   编写代码,实现将一个字符串中字符的排列顺序进行反转,头尾调换。

思路

  1.       将字符串变成你字符数组。
  2.       对字符数组反转。
  3.       将字符数组变成字符串。

编码

public static void sp(Object obj){
		System.out.println(obj);
	}
	
	public static void main(String[] args){
		String str="abcdefg";
		sp("原字符串:"+str);
		// str=reverseString(str);	// 将字符串全部反转
		str=reverseString(str,2,5);	// 将字符串指定部分进行反转
		sp("反转后字符串:"+str);
		
	}
	
	// 重载,将部分字符串反转
	public static String reverseString(String str,int start,int end){
		// 将字符串转换为字符数组
		char[] chs=str.toCharArray();
		
		// 反转字符数组
		reverse(chs,start,end);
		
		// 将字符数组转换为字符串
		return new String(chs);
	}
	
	// 将一个字符串进行反转
	public static String reverseString(String str){
		
		return reverseString(str,0,str.length());
	}
	
	// 反转字符数组
	public static void reverse(char[] chs,int x,int y){
		for(int start=x-1,end=y-1;start<end;start++,end--){	// 定义指定字符在字符串中实际角标
			swap(chs,start,end);
		}
	}
	
	// 位置替换
	public static void swap(char[] chs,int x,int y){
		char temp=chs[x];
		chs[x]=chs[y];
		chs[y]=temp;
	}

 

效果

JAVA--将字符串(或部分字符串)反转

相关标签: String