写一个java类将一个字符串反转_Java --实现字符串的反转

比如字符串“1234567”(在函数中我用str1表示) ---->"5671234",相当于整体向右平移3个单位(在函数中我用m表示),可以分为以下几步:

ps: "1234"为第一部分,“567”为第二部分,同时为了便于调换位置,我们将字符串转化为数组的形式(在函数中我用str表示)。

1) 将 第一部分中的字符串依次首(在函数中我用go表示)尾(在函数中我用to表示)互换,即“4321”

2) 将第二部分中的字符串同样依次首尾互换,即“765”

3) 将字符串整体依次进行互换,即“5671234”

具体实现如下:

public class test004 {

char tmp;

public void func(char[] str,int go , int to){

for(int x=go,y=to;x

//首尾互换值

tmp =str[x];

str[x]=str[y];

str[y]=tmp;

}

}

public String Func(String str1,int m){

//将字符串转化为数组

char[] str = str1.toCharArray();

//如果m > str.length时,对 m取余

m %= str.length;

//调用func方法,将第一部分反转

func(str,0,str.length -m -1);

//调用func方法,将第二部分反转

func(str,str.length -m,str.length-1);

//调用func方法,将整体反转

func(str,0,str.length -1);

//将str转化为字符串类型并返回

return new String(str);

}

public static void main(String[] args) {

test004 test =new test004();

System.out.print(test.Func("1234567",3));

// System.out.print(new test004().Func("1234567",3));

}

}

运行代码:

5671234

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值