题目描述
将一个字符串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++)要注意这里一定是减减,如果跟前面数组之类一起用的话,一定要注意次序逻辑。