题目描述
将一个字符串str的内容颠倒过来,并输出。str的长度不超过100个字符。 如:输入“I am a student”,输出“tneduts a ma I”。
输入参数: inputString:输入的字符串
返回值: 输出转换好的逆序字符串
输入描述: 输入一个字符串,可以有空格
输出描述: 输出逆序的字符串
输入例子: I am a student
输出例子: tneduts a ma I
提供两种解法
package NiukeBrush; import java.util.Scanner; public class Huawei32 { public static void main(String[] args) { Scanner sc=new Scanner(System.in); while(sc.hasNext()) { String inputString=sc.nextLine(); System.out.print(Inverted(inputString)); } } //Reverse string private static String Inverted(String inputString) { StringBuilder sb=new StringBuilder(); sb.append(inputString); sb.reverse(); return sb.toString(); } }第二种
package NiukeBrush; import java.util.Scanner; public class Huawei31 { public static void main(String[] args) { Scanner sc=new Scanner(System.in); while(sc.hasNext()) { String inputString=sc.nextLine(); System.out.print(Inverted(inputString)); } } //Reverse string private static String Inverted(String inputString) { StringBuilder sb=new StringBuilder(); String[] str=inputString.split(" "); for(int i=str.length-1;i>=0;i--) { sb.append(" "); for(int j=str[i].length()-1;j>=0;j--) { sb.append(str[i].charAt(j)); } } return sb.toString().trim(); } } //数组长度与索引关系是:最大索引+1=数组长度 //字符串长度和索引关系是:最大索引+1=长度这里一个总结:
gheha sdfa Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 2 at NiukeBrush.Huawei31.Inverted(Huawei31.java:26) at NiukeBrush.Huawei31.main(Huawei31.java:12)我报了这个错:其实就是数组越界,这个时候要做的关系就是仔细辨别逻辑关系。 数组:数组的最大索引+1=长度 。数组用length 字符串也是一样:字符串的最大索引+1=长度。字符串用:length()表示长度 集合类用:size()表示长度 用loop的时候:for(int i=a;i>=0;i++)要注意这里一定是减减,如果跟前面数组之类一起用的话,一定要注意次序逻辑。
