java练习 - 字符串反转

思路:

1. 首先将字符串转换成数组,一个数组元素放一个字符。

2. 循环遍历字符串,将所有字符串前后字符调换位置,比如:第一个和最后一个调换,第二个和倒数第三调换,第三个和倒数第三调换,直到所有字符调换完毕。

3. 通过以上两步得到了字符顺序完全颠倒的新字符串。

下面是代码实现:可以将1 2 3 4 5 转换成5 4 3 2 1

 1 public class reverse {
 2
 3 //public static void main(String[] args)
 4     public String swap(String str){
 5 //String str = "1 2 3 4 5";
 6     char[] arr = str.toCharArray();
 7 int begin=0; int end=arr.length-1;
 8         while(begin < end) {
 9             char temp = arr[begin];
10             arr[begin] = arr[end];
11             arr[end] = temp;
12             begin++;
13             end--;
14             }
15
16       //for (int i = 0; i < arr.length-1; i++)
17      // System.out.println(arr[i]);
18                 return new String(arr).toString();
19     }
20 public static void main(String[] args) {
21         String str = "a b c d";
22         System.out.println(new reverse().swap(str));
23     }
24     }

虽然上面的方法可以实现字符串翻转,如果我们想把How are you翻转成you are How呢?

其实办法很简单,

以空格为分隔符,讲空格之间的字符再次翻转就可以了。

时间: 2024-08-01 16:18:58

java练习 - 字符串反转的相关文章

Java中字符串反转

首推方法: public void convertStr(String str){          //将String 对象转换为可改变的StringBuffer类对象          //然后调用StringBuffer类的reverse()方法实现反转          String strReverse=new StringBuffer(str).reverse().toString();          System.out.println(strReverse);       

Java实现字符串反转

对于使用Java字符串反转有以下几种实现: 利用StringBuilder类中的reverse函数: 使用递归,将String的首字符放到除首字符外的子串后,然后再递归调用子串: 使用字符数组做reverse: public class Reverse { public static String reverse1(String str) { if (str == null || str.length() <= 1) return str; return new StringBuilder(st

Java 实例 - 字符串反转

package string; public class StringReverse { public static void main(String[] args) { /** * 字符串反转 */ String str = "dlrow,olleh"; String reverse =new StringBuffer(str).reverse().toString(); System.out.println("反转之前的字符串:"+str); System.ou

Java 实现字符串反转

1. 使用现成的 reverse() 方法 StringBuilder sb1 = new StringBuilder("Hello you"); System.out.println(sb1.reverse()); //uoy olleH StringBuffer sb2 = new StringBuffer("haha go"); System.out.println(sb2.reverse()); //og ahah 2. 将字符串转换成字符数组,然后从末尾开

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

1. 案例演示: 1 package cn.itcast_07; 2 3 import java.util.Scanner; 4 5 /* 6 * 把字符串反转 7 */ 8 public class StringBufferTest3 { 9 public static void main(String[] args) { 10 // 键盘录入数据 11 Scanner sc = new Scanner(System.in); 12 System.out.println("请输入数据:&quo

Java面试题从零开始:写一个函数把字符串反转

前言:为了能够找一个代表我从零开始的诗词,我挖空心思去找,然而怎么也找不到一个贴合我心意的,被迫上了度娘也不曾找到.真想把小学一年级的语文课本拿出来好好的通读一遍,肯定能找到答案. 好了,既然找不到也不必耿耿于怀了.今天读了<高效能程序员的修炼>第四章,发现自己好烂,如果按照作者的看法,我是无论如何都入不了他的法眼,于是乎,我告诉自己,从零开始,把作者提出的面试题按照Java来写一遍,无论是参考别人还是自己略能想得到的办法,亲自动手把它们敲出来,并且记录下来吧! 写一个函数把字符串反转,作为本

7 种将字符串反转的 Java 方法

import java.util.Stack;public class StringReverse { public static String reverse1(String s) { int length = s.length(); if (length <= 1) return s; String left = s.substring(0, length / 2); String right = s.substring(length / 2, length); return reverse

字符串反转的进一步应用----单词反转

字符串反转:如给定一字符串 good bye boy. 反转之后: .yob eyb doog 实现思路: 分别从第一个字符和最后一个字符,同时向中间遍历,交换遇到的每一个字符.JAVA实现代码如下:字符数组str存储待反转的字符串. private static void inverse(char[] str, int start, int end){ int i = start; int j = end; while(i < j){ char tmp = str[i]; str[i] = s

关于字符串反转和数组反转的问题

关于反转这个问题,在晚上查了些资料,有很多非常不错的思想,要熟练的掌握这些思想,现在把这些总结如下: 字符串反转: 1 import java.util.Stack; 2 3 public class StringInverse { 4 public static void main(String[] args) { 5 System.out.println(reverse7("abcde")); 6 } 7 //方式一 8 public static String reverse1(