博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java 字符串反转
阅读量:5024 次
发布时间:2019-06-12

本文共 2254 字,大约阅读时间需要 7 分钟。

描述:给我一个字符串,例如I love java,输出: java love I

 

方法一

1 public class StringReverse { 2      3     public void swap(char[] arr, int begin, int end) { 4         while(begin < end) {       5             char temp = arr[begin]; 6             arr[begin] = arr[end]; 7             arr[end] = temp; 8             begin++; 9             end--;10         }11     }12     //I love java13     public String swapWords(String str) {14         char[] arr = str.toCharArray();15         swap(arr, 0, arr.length - 1);    //第一次反转,结果为avaj evol I16         int begin = 0;17         for (int i = 1; i < arr.length; i++) {18             if (arr[i] == ' ') {       //第二次和三次反转,结果分别为java evol I和java love I19                 swap(arr, begin, i - 1);    20                 begin = i + 1;21             }22         }23 24         return new String(arr);25     }26     27     public static void main(String[] args) {28         String str = "I love java";29         System.out.println(new StringReverse().swapWords(str));30     }31 }

方法二:(利用jdk提供的方法)

1 public class fanzhuan { 2  3     public static void main(String[] args) {         4         String str = "I love java";        5         String[] sArr = str.split(" ");//I love java        6         List
list = new ArrayList
(); 7 list = Arrays.asList(sArr);  //此时list为[I,love,java]  8 Collections.reverse(list);      //reverse方法直接反转list的每个元素,反转后为[java,love,I] 9 10 for(String word:list){11 System.out.print(word+" ");12 }13 }14 }

另外,如果描述改一下,输入一个字符串,例如“abcd”,输出"dcba",

 

当然了方法很多,这里我提供一个jdk自带的方法,比较简单

1 package sundemo2; 2  3 public class fanzhuan { 4     public static void main(String[] args){ 5         String str = "my name is 周杰伦"; 6         System.out.println(reverse(str)); 7    8     } 9     public static String reverse(String str){10         return new StringBuilder(str).reverse().toString();11     }  12 }

 

1 package sundemo2; 2  3 public class fanzhuan { 4     public static void main(String[] args){ 5         String str = "my name is 周杰伦"; 6  7         for(int i = str.length() - 1; i >= 0; i--){ 8             System.out.print(str.charAt(i)); 9         }10     }11 }

 

转载于:https://www.cnblogs.com/xiaoluosun/p/4253266.html

你可能感兴趣的文章
Redhat 7 安装Samba服务
查看>>
实验时css层叠样式表不更新的情况
查看>>
jmeter-xpath的用法
查看>>
windows平台下配置hadoop的javahome时空格问题解决[转]
查看>>
POJ1118
查看>>
第二次oo总结
查看>>
【MySQL】MySQL锁和隔离级别浅析二 之 INSERT
查看>>
Oracle T4-2 使用ILOM CLI升级Firmware
查看>>
4.14上午
查看>>
数据分析 -- 白话一下什么是决策树模型(转载)
查看>>
Java SPI机制原理和使用场景
查看>>
web前端java script学习2017.7.18
查看>>
删除TXPlatform
查看>>
LaTex:图片排版
查看>>
并发访问超时的问题可能性(引用)
查看>>
中小团队基于Docker的Devops实践
查看>>
利用python打开摄像头并保存
查看>>
System函数的使用说明
查看>>
Selenium-测试对象操作之:获取浏览器滚动条滚动距离
查看>>
Linux下MySQL数据库安装与配置
查看>>