为了账号安全,请及时绑定邮箱和手机立即绑定

交换字符串中的字符

交换字符串中的字符

FFIVE 2021-11-03 10:51:56
我有一个字符串。String word = "Football";我需要将字符串的第一个字符放在字符串的末尾。这是我的解决方案。public class charToString{    public static void main(String[] args){        String testString = "Football";        char[] stringToCharArray = testString.toCharArray();        for(int i=0;i<(stringToCharArray.length-1);i++){            char temp = stringToCharArray[i];            stringToCharArray[i]= stringToCharArray[i+1];            stringToCharArray[i+1] = temp;        }//end of for        String resulT = new String(stringToCharArray); //result with desired output        System.out.println(resulT);    }// end of main}这是完成任务的有效方法吗?或者你能建议我一个更有效的方法来做到这一点吗?
查看完整描述

3 回答

?
德玛西亚99

TA贡献1770条经验 获得超3个赞

您使用子字符串的解决方案很好,但这是使用正则表达式的替代解决方案:


String word = "Football";

String result = word.replaceAll("^(.)(.*)$", "$2$1");

System.out.println(result);


查看完整回答
反对 回复 2021-11-03
?
幕布斯7119047

TA贡献1794条经验 获得超8个赞

您可以使用子字符串:

testString.substring(1) + testString.substring(0, 1)


查看完整回答
反对 回复 2021-11-03
?
千万里不及你

TA贡献1784条经验 获得超9个赞

比子字符串和串联更有效的解决方案是使用 a StringBuilder:


String result =

    new StringBuilder(word.length())

        .append(word, 1, word.length())

        .append(word, 0, 1) // or .append(word.charAt(0))

        .toString();

这只是避免从word.


查看完整回答
反对 回复 2021-11-03
  • 3 回答
  • 0 关注
  • 130 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信