java怎么实现字符串反转_Java多种方法实现字符串反转!

来自牛客网

题目描述

接受一个只包含小写字母的字符串,然后输出该字符串反转后的字符串。(字符串长度不超过1000)。

示例  输入:abcdefg

输出:gfedcba

解决思路

(主函数中实现)1.从尾元素向前遍历字符串,打印每个位置的字符,实现字符串反转。

(方法的调用)2.将字符串转为字符数组,实现反转效果后,将字符数组转为字符串输出。

①while循环双指针法实现,

②for循环需要注意第变量的终止范围(如数组长度为arr.length,第一个变量i小于arr.length/2,j为arr.length-1-i)。

(内置函数叠加)3.自己认为是内置函数叠加后的结果

实现代码

第一种方法

public static void main(String[] args){

Scanner sc = new Scanner(System.in);

while(sc.hasNextLine()){

String str = sc.nextLine();

//str.length()获取字符串的长度

for (int i = str.length()-1; i >= 0; i--) {

System.out.print(str.charAt(i));

}

System.out.println();

}

}

第二种方法

public static void main(String[] args){

Scanner sc = new Scanner(System.in);

String str = sc.nextLine();

System.out.println("字符串反转后结果为:"+getString(str));

System.out.println("字符串反转后结果为:"+getString1(str));

}

public static String getString(String str1) { //char[]

char[] arr = str1.toCharArray();

for (int i = 0; i < arr.length / 2; i++) {

char tmp = arr[i];

arr[i] = arr[arr.length - 1 - i]; //相当于j=arr.length-1-i

arr[arr.length - 1 - i] = tmp;

}

return new String(arr); //将字符数组转换为字符串

}

public static String getString1(String str1) {

char[] arr = str1.toCharArray();

int i = 0;

int j = arr.length-1;

while(i<=j){

char tmp = arr[i];

arr[i] = arr[j];

arr[j] = tmp;

i++;

j--;

}

return new String(arr); //将函数返回的字符数组转换为字符串

}

第三种方法

public static void main(String[] args){

Scanner sc = new Scanner(System.in);

String str = sc.nextLine();

StringBuffer str1 = new StringBuffer(str); //StringBuffer可以改变字符串的值

System.out.println("字符串反转后结果为: "+str1.reverse().toString());

}

标签:arr,Java,String,反转,System,length,str,字符串

来源: https://blog.csdn.net/weixin_44874269/article/details/111407754

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值