java 字符串反转
描述:给我一个字符串,例如I love java,输出: java love I
方法一
public class StringReverse {
public void swap(char[] arr, int begin, int end) {
while(begin < end) {
char temp = arr[begin];
arr[begin] = arr[end];
arr[end] = temp;
begin++;
end--;
}
}
//I love java
public String swapWords(String str) {
char[] arr = str.toCharArray();
swap(arr, 0, arr.length - 1); //第一次反转,结果为avaj evol I
int begin = 0;
for (int i = 1; i < arr.length; i++) {
if (arr[i] == ' ') { //第二次和三次反转,结果分别为java evol I和java love I
swap(arr, begin, i - 1);
begin = i + 1;
}
}
return new String(arr);
}
public static void main(String[] args) {
String str = "I love java";
System.out.println(new StringReverse().swapWords(str));
}
}
方法二:(利用jdk提供的方法)
public class fanzhuan {
public static void main(String[] args) {
String str = "I love java";
String[] sArr = str.split(" ");//I love java
List<String> list = new ArrayList<String>();
list = Arrays.asList(sArr); //此时list为[I,love,java]
Collections.reverse(list); //reverse方法直接反转list的每个元素,反转后为[java,love,I]
for(String word:list){
System.out.print(word+" ");
}
}
}
另外,如果描述改一下,输入一个字符串,例如“abcd”,输出"dcba",
当然了方法很多,这里我提供一个jdk自带的方法,比较简单
package sundemo2;
public class fanzhuan {
public static void main(String[] args){
String str = "my name is 周杰伦";
System.out.println(reverse(str));
}
public static String reverse(String str){
return new StringBuilder(str).reverse().toString();
}
}
package sundemo2;
public class fanzhuan {
public static void main(String[] args){
String str = "my name is 周杰伦";
for(int i = str.length() - 1; i >= 0; i--){
System.out.print(str.charAt(i));
}
}
}
java 字符串反转的更多相关文章
- java字符串反转
1.递归反转 public static String reverseString(String x) { if (x == null || x.length() < 2) return x; ...
- Java字符串反转常见的几种方式?
(1)通过StringBuilder的reverse()方法,速度最快: public class StringReverse { public static void main(String[] a ...
- Java实现字符串反转
替换原则:index k 的值和 n-k 的值进行交换.(始终记住程序员的n.k都是字符串的实际位置.) 乘除的最基本实现还是来源于移位操作. public String reverse(String ...
- Java实现字符串反转的8种方法
/** * */ package com.wsheng.aggregator.algorithm.string; import java.util.Stack; /** * 8 种字符串反转的方法, ...
- java几种字符串反转
java实现的字符串翻转,能想到的这几种方法 假设有其它方法,欢迎交流 //字符串反转 public class ReverseString { public String reverse1(Stri ...
- Java基础知识强化45:StringBuffer类之字符串反转的案例
1. 案例演示: package cn.itcast_07; import java.util.Scanner; /* * 把字符串反转 */ public class StringBufferTes ...
- JAVA实现字符串反转,借助字符数组实现
public static String reverseStr(String str) { int len = str.length(); char ch[] = str.toCharArray(); ...
- Java-Runoob-高级教程-实例-字符串:05. Java 实例 - 字符串反转
ylbtech-Java-Runoob-高级教程-实例-字符串:05. Java 实例 - 字符串反转 1.返回顶部 1. Java 实例 - 字符串反转 Java 实例 以下实例演示了如何使用 J ...
- JAVA:字符串反转
import java.util.ArrayList;import java.util.Arrays;import java.util.Collections;import java.util.Lis ...
随机推荐
- 几款开源ESB总线的比较(转)
现有的开源ESB总线中,自从2003年第一个开源总线Mule出现后,现在已经是百花争鸣的景象了.现在我就对现有的各种开源ESB总线依据性能.可扩展性.资料文档完整程度以及整合难易程度等方面展开. CX ...
- Alamofire网络库基础教程
原文 Beginning Alamofire Tutorial 原文作者 Essan Parto译者 星夜暮晨(QQ:412027805) http://www.jianshu.com/p/f1208 ...
- FileZilla 错误425 Can't open data connection 读取目录列表失败
新装FileZilla FTP Server,设置好后,客户端能连接,但是出Error:[读取目录列表失败]:同时,服务端出Error:[425 Can't open data connection] ...
- cocos2d-x -- 渠道SDK【棱镜】接入(1)
棱镜SDK简单介绍 若想让游戏上线,渠道接入步骤是不可缺少的,为了避免一对一接入渠道问题,我选择了棱镜SDK,由于棱镜是游戏与渠道SDK的中间层,为CP厂商屏蔽各个渠道SDK之间的差异,整个接入过程, ...
- jquery php 百度搜索框智能提示效果
这个程序是利用php+ajax+jquery 实现的一个仿baidu智能提示的效果,有须要的朋友能够下载測试哦. 代码例如以下 index.html文件,保保存成index.htm <!DOCT ...
- dba_dependencies查询结果视图
[oracle@rhel63single ~]$ sqlplus / as sysdba SQL*Plus: Release 11.2.0.4.0 Production on Fri Mar 13 0 ...
- ehcache历史变迁及常用API的使用(转)
ehcache是一个用Java实现的使用简单,高速,实现线程安全的缓存管理类库,ehcache提供了用内存,磁盘文件存储,以及分布式存储方式等多种灵活的cache管理方案.同时ehcache作为开放源 ...
- Unity GUI选择与评价
因为Unity内建的GUI不管是不是从开发效率或效率强制,因此,许多派生GUI插入,什么插件的选择,是一个非常值它被认为是. 既然是评价,就会有非常多的主观意识,这不一定成为选择的根据. 再比方.我已 ...
- PE文件结构(四) 输出表
PE文件结构(四) 參考 书:<加密与解密> 视频:小甲鱼 解密系列 视频 输出表 一般来说输出表存在于dll中.输出表提供了 文件里函数的名字跟这些函数的地址, PE装载器通过输出表来改 ...
- Android 实现蘑菇街购物车动画效果
版本号:1.0 日期:2014.8.6 版权:© 2014 kince 转载注明出处 使用过蘑菇街的用户基本上都知道有一个增加购物车的动画效果,此处不详细描写叙述想知道的能够去下载体验一下. 1 ...