在Java中,如果想要逆序输入字符串,通常能够采样首尾双向循环、单向循环或者StringBuffer、StringBuilder来实现,上面别离给出相应的示例代码。
示例代码1 — 首尾双向循环:
private static String reverse(String str) { if (str == null) { return null; } char[] chars = str.toCharArray(); for (int start = 0, end = chars.length - 1; start <= end; start++, end--) { char tempChar = chars[start]; chars[start] = chars[end]; chars[end] = tempChar; } return String.valueOf(chars); }
下面的代码采纳首尾双向循环的思路,通过长期变量的形式,实现两个字符的替换。除了首尾双向遍历形式外,也能够采纳单向遍历的形式实现字符串的反转。
示例代码2 — 单向循环
private static String reverse(String str) { if (str == null) { return null; } int length = str.length(); char[] chars = new char[length]; for (int i = 0; i < length; i++) { chars[i] = str.charAt(length - i - 1); } return String.valueOf(chars); }
除了应用循环形式外,也能够借助于 StringBuilder 或 StringBuffer 的 reverse() 办法实现字符串的反转。
示例代码3 — StringBuilder 或 StringBuffer
private static String reverse(String str) { if (str == null) { return null; } return new StringBuilder(str).reverse().toString(); }
或
private static String reverse(String str) { if (str == null) { return null; } return new StringBuffer(str).reverse().toString(); }
测试验证
public static void main(String[] args) { System.out.println(reverse("abcd")); System.out.println(reverse("A1B2C3")); }
输入的后果如下:
dcba
3C2B1A
更多无关Java面试相干的知识点能够关注【Java面试手册】小程序,波及Java根底、多线程、JVM、Spring、Spring Boot、Spring Cloud、Mybatis、Redis、数据库、数据结构与算法等。