描述:给我一个字符串,例如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 字符串反转的更多相关文章

  1. java字符串反转

    1.递归反转 public static String reverseString(String x) { if (x == null || x.length() < 2) return x; ...

  2. Java字符串反转常见的几种方式?

    (1)通过StringBuilder的reverse()方法,速度最快: public class StringReverse { public static void main(String[] a ...

  3. Java实现字符串反转

    替换原则:index k 的值和 n-k 的值进行交换.(始终记住程序员的n.k都是字符串的实际位置.) 乘除的最基本实现还是来源于移位操作. public String reverse(String ...

  4. Java实现字符串反转的8种方法

    /** * */ package com.wsheng.aggregator.algorithm.string; import java.util.Stack; /** * 8 种字符串反转的方法, ...

  5. java几种字符串反转

    java实现的字符串翻转,能想到的这几种方法 假设有其它方法,欢迎交流 //字符串反转 public class ReverseString { public String reverse1(Stri ...

  6. Java基础知识强化45:StringBuffer类之字符串反转的案例

    1. 案例演示: package cn.itcast_07; import java.util.Scanner; /* * 把字符串反转 */ public class StringBufferTes ...

  7. JAVA实现字符串反转,借助字符数组实现

    public static String reverseStr(String str) { int len = str.length(); char ch[] = str.toCharArray(); ...

  8. Java-Runoob-高级教程-实例-字符串:05. Java 实例 - 字符串反转

    ylbtech-Java-Runoob-高级教程-实例-字符串:05. Java 实例 - 字符串反转 1.返回顶部 1. Java 实例 - 字符串反转  Java 实例 以下实例演示了如何使用 J ...

  9. JAVA:字符串反转

    import java.util.ArrayList;import java.util.Arrays;import java.util.Collections;import java.util.Lis ...

随机推荐

  1. 输入n个数和输出调整后的n个数

    输入n个数和输出调整后的n个数 Time Limit: 1 Sec  Memory Limit: 128 MB Submit: 148  Solved: 118 [Submit][Status][We ...

  2. 【POJ】The Suspects(裸并查集)

    并查集的模板题,为了避免麻烦,合并的时候根节点大的合并到小的结点. #include<cstdio> #include<algorithm> using namespace s ...

  3. 【Java收集的源代码分析】Hashtable源代码分析

    Hashtable简单介绍 Hashtable相同是基于哈希表实现的,相同每一个元素是一个key-value对,其内部也是通过单链表解决冲突问题,容量不足(超过了阀值)时.相同会自己主动增长. Has ...

  4. 加密解密工具类(Java,DES)

    一个Java版的DES加密工具类,能够用来进行网络传输数据加密,保存password的时候进行加密. import java.security.Key; import java.security.sp ...

  5. 如何嗅闻交换网络和ARP骗子-ARP解释的原则

    在嗅探以太网(一般指嗅探器可以对流经的网络数据包窃听)(sniff)不为网络安全是好事,虽然网络管理员能够跟踪数据包,发现 互联网问题,但前提是,如果破坏者使用.在整个网络带来了严重的安全威胁. 至于 ...

  6. HDU 1541 Stars (树状数组)

    Problem Description Astronomers often examine star maps where stars are represented by points on a p ...

  7. Base64编码 概念和用途

    Base64概念 什么是Base64? 依照RFC2045的定义,Base64被定义为:Base64内容传送编码被设计用来把随意序列的8位字节描写叙述为一种不易被人直接识别的形式.(The Base6 ...

  8. iOS_20_微博的骨架结构

    最后效果图: BeyondViewController.m // // BeyondViewController.m // 20_帅哥no微博 // // Created by beyond on 1 ...

  9. C#-默认显示前列-ShinePans

    using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...

  10. [linux]scp指令(转)

    Linux scp命令用于Linux之间复制文件和目录,具体如何使用这里好好介绍一下,从本地复制到远程.从远程复制到本地是两种使用方式.这里有具体举例: ================== Linu ...