如何用java将一个字符串str的内容颠倒过来,并输出。下面来看看吧
工具/原料
Java
方法/步骤
1、将一个字符串str的内容颠倒过来,并输出,str的长度不超过100个字符。#i艘绒庳焰nclude<stdio.h>in墉掠载牿tmain(){intlen,i;charstr[100];gets(str);len=strlen(str);for(i=len-1;i>=0;i--)printf("%c",str[i]);return0;}
2、输入输入包括一行。第一行输入的字符串。输出输出转换好的逆序字符串。样例输入Iamastudent样例输出tnedutsamaI
方法/步骤2
1、输入abcd,输出dcbaimportjava.lang.StringBuffer;publicclassAPI_String{publicstaticvoidmain(String[]args){Stringstr="abcd";
2、//字符串倒序方法一char[]ch=str.toCharArray();StringBuffersb=newStringBuffer();for(inti=ch.length-1;i>=0;i--){sb.append(ch[i]);}System.out.println(sb.toString());
3、//字符串倒序方法二StringBuffersbb=newStringBuffer();for(inti=str.length()-1;i>=0;i--){sbb.append(str.charAt(i));}System.out.println(sbb.toString());
4、//字符串倒序方法三System.out.println(newStringBuffer(str).reverse().toString());}}
5、方法一和方法二都是利用已知的索引进行倒序,它们的算法很类似。方法三利用了JAVA中已有API的倒序方法(StringBuffer中的reverse())在API帮助文档里是这么说的:将此字符序列用其反转形式取代。
方法/步骤3
1、复杂点倒叙packagesun.rain.amazing.str;importjava.掼鸿乡羰util.Optional;/***Creat髫潋啜缅edbysunRainAmazingonSUN_RAIN_AMAZING*@authorsunRainAmazing*/publicclassReverseString{publicstaticvoidmain(String[]args){System.out.println(reverse_substring("12345来濑馑"));}/***根据char[]toCharArray()*将此字符串转换为一个新的字符数组。*@paramstr*@return*/publicstaticStringreverse_toCharArray(Stringstr){if(isNull(str)){return"";}StringBuffersb=newStringBuffer();char[]ch=str.toCharArray();for(inti=ch.length-1;i>=0;i--){sb.append(ch[i]);}returnsb.toString();}/***Stringsubstring(intbeginIndex,intendIndex)*返回一个新字符串,它是此字符串的一个子字符串。*@paramstr*@return*/publicstaticStringreverse_substring(Stringstr){if(isNull(str)){return"";}StringBuffersb=newStringBuffer();intlength=str.length();for(inti=length-1;i>=0;i--){sb.append(str.substring(i,i+1));}returnsb.toString();}/***判断字符串是否为null或者是空字符串*控制空指针异常*@paramstr*@return*/publicstaticbooleanisNull(Stringstr){//returngetLength(str)<=0;returngetStrLength(str)<1;}/***控制空指针异常*字符串为null或者是空字符串--返回0*否则返回对应的长度*@paramstr字符串*@return不为空返回真实长度否则返回0*/publicstaticintgetLength(Stringstr){returnOptional.ofNullable(str).orElse("").length();}/***注意其语言版本要为Java8才会支持lambda表达式*否则报错---*Methodreferencesarenotsupportedatthislanguagelevel*求字符串的长度*控制空指针异常*字符串为null或者是空字符串--返回0*@paramstr字符串*@return不为空返回真实长度否则返回0*/publicstaticintgetStrLength(Stringstr){returnOptional.ofNullable(str).map(String::length).orElse(0);}/***原始方式求字符串的长度*控制空指针异常*字符串为null或者是空字符串--返回0*@paramstr字符串*@return不为空返回真实长度否则返回0*/publicstaticintgetStrLength1(Stringstr){if(str==null){return0;}returnstr.length();}}