怎么用java实现,题目是:将一个英文句子逆序输出,例如 I am a student 逆序为student a am I

求完整的句子代码 谢谢

java实现字符串逆序输出单词方式如下:

实现思路:先将字符串变为字符串数组,然后逆序赋值给另一个字符串数组,最后再利用StringBuffer转变为字符串输出,方法如下:

public class Demo{

public static void main(String[] args){

String str = "I am a student";

String str1 = wordsReverse(str);
//输出为student a am I
System.out.println(str1);

}
public static String wordsReverse(String str) {
    //字符串变为字符串数组
    String[] strArr = str.split(" ");
    String[] strArr1 = new String[strArr.length];
    StringBuffer sb= new StringBuffer();
    for(int i=0;i<strArr.length;i++){
        //逆序赋值给字符串数组strArr1
        strArr1[i]=strArr[strArr.length-i-1];
        //如果不是最后一个单词则追加该单词和空格,最后一个则只追加该单词
        if(i!=strArr.length-1){
          sb.append(strArr1[i]);
          sb.append(" ");
        }else sb.append(strArr1[i]);
        
    }

    
    return sb.toString();
}

}

温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-10-20
public class Test1 {
public static void main(String[] args) {
String s="I am a student";
Test1 t = new Test1();
String newstr = t.descMethod(s);
System.out.println(newstr);
}
public String descMethod(String str){
String[] list = str.split(" "); //获得字符串的单词数组
StringBuffer sb = new StringBuffer(); //用来保存新的字符串
for(int i=0;i<list.length;i++){
sb.append(list[list.length-i-1]+" "); //把list中的单词倒着取出来,加进sb里
}
return sb.toString();
}
}

自己写的,但是传入的字符串不能有标点符号本回答被网友采纳
第2个回答  2011-10-20
String s = "a b c";
String[] contents = s.split(" ");
StringBuffer sb = new StringBuffer();
for (int i = contents.length -1; i >= 0; i--) {
sb.append(contents[i] + " ");
}
System.out.println(sb);
相似回答