如何将一个字符串逆序输出?
1、将一个字符串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;
}
2、输入
输入包括一行。 第一行输入的字符串。
输出
输出转换好的逆序字符串。
样例输入
I am a student
样例输出
tneduts a ma I
1、输入abcd,输出dcba
import java.lang.StringBuffer;
public class API_String {
public static void main(String[] args) {
String str = "abcd";
2、 // 字符串倒序方法一
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());
3、 // 字符串倒序方法二
StringBuffer sbb = new StringBuffer();
for (int i = str.length() - 1; i >= 0; i--) {
sbb.append(str.charAt(i));
}
System.out.println(sbb.toString());
4、// 字符串倒序方法三 System.out.println(new StringBuffer(str).reverse().toString()); }
}
5、方法一和方法二都是利用已知的索引进行倒序,它们的算法很类似。方法三利用了JAVA中已有API的倒序方法(StringBuffer中的reverse())在API帮助文档里是这么说的:将此字符序列用其反转形式取代。
1、复杂点倒叙
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();
}
}