如何将一个字符串逆序输出?
如何用java将一个字符串str的内容颠倒过来,并输出。下面来看看吧
操作方法
- 01
将一个字符串str的内容颠倒过来,并输出,str的长度不超过100个字符。 #include <stdio.h> int main() { int len,i; char str[100]; gets(str); len=strlen(str); for(i=len-1;i>=0;i--) printf("%c",str[i]); return 0; }
- 02
输入 输入包括一行。 第一行输入的字符串。 输出 输出转换好的逆序字符串。 样例输入 I am a student 样例输出 tneduts a ma I
方法/步骤2
- 01
输入abcd,输出dcba import java.lang.StringBuffer; public class API_String { public static void main(String[] args) { String str = "abcd";
- 02
// 字符串倒序方法一 char[] ch = str.toCharArray(); StringBuffer sb = new StringBuffer(); for (int i = ch.length - 1; i >= 0; i--) { sb.append(ch[i]); } System.out.println(sb.toString());
- 03
// 字符串倒序方法二 StringBuffer sbb = new StringBuffer(); for (int i = str.length() - 1; i >= 0; i--) { sbb.append(str.charAt(i)); } System.out.println(sbb.toString());
- 04
// 字符串倒序方法三 System.out.println(new StringBuffer(str).reverse().toString()); } }
- 05
方法一和方法二都是利用已知的索引进行倒序,它们的算法很类似。方法三利用了JAVA中已有API的倒序方法(StringBuffer中的reverse())在API帮助文档里是这么说的:将此字符序列用其反转形式取代。
方法/步骤3
- 01
复杂点倒叙 package sun.rain.amazing.str; import java.util.Optional; /** * Created by sunRainAmazing on SUN_RAIN_AMAZING * @author sunRainAmazing */ public class ReverseString { public static void main(String[] args){ System.out.println(reverse_substring("12345来濑馑")); } /** * 根据 char[] toCharArray() * 将此字符串转换为一个新的字符数组。 * @param str * @return */ public static String reverse_toCharArray(String str){ if(isNull(str)) { return ""; } StringBuffer sb = new StringBuffer(); char[] ch = str.toCharArray(); for(int i=ch.length-1; i>=0; i--){ sb.append(ch[i]); } return sb.toString(); } /** * String substring(int beginIndex, int endIndex) * 返回一个新字符串,它是此字符串的一个子字符串。 * @param str * @return */ public static String reverse_substring(String str){ if(isNull(str)) { return ""; } StringBuffer sb = new StringBuffer(); int length = str.length(); for(int i=length-1; i>=0; i--){ sb.append(str.substring(i,i+1)); } return sb.toString(); } /** * 判断字符串是否为 null或者是空字符串 * 控制空指针异常 * @param str * @return */ public static boolean isNull(String str){ // return getLength(str) <= 0; return getStrLength(str) < 1; } /** * 控制空指针异常 * 字符串为 null或者是空字符串 --返回0 * 否则返回对应的长度 * @param str 字符串 * @return 不为空 返回真实长度 否则 返回0 */ public static int getLength(String str){ return Optional.ofNullable(str).orElse("").length(); } /** * 注意其语言版本要为 Java8才会支持lambda表达式 * 否则报错 --- * Method references are not supported at this language level * 求字符串的长度 * 控制空指针异常 * 字符串为 null或者是空字符串 --返回0 * @param str 字符串 * @return 不为空 返回真实长度 否则 返回0 */ public static int getStrLength(String str){ return Optional.ofNullable(str).map(String::length).orElse(0); } /** * 原始方式 求字符串的长度 * 控制空指针异常 * 字符串为 null或者是空字符串 --返回0 * @param str 字符串 * @return 不为空 返回真实长度 否则 返回0 */ public static int getStrLength1(String str){ if(str==null){ return 0; } return str.length(); } }