首页 > 试题广场 >

输入一个英文句子,翻转句子中的顺序,但单词内字符的顺序不变,

[问答题]

输入一个英文句子,翻转句子中的顺序,但单词内字符的顺序不变,句子中单词以空格隔开,为简单起见。标点符号和普通字母一样处理,例如输入i am a student.则输出student a am I.

publicclassMain {
    publicstaticvoidmain(String[] args) {
        String s="i am a student";
        String[] str=s.split(" ");
        for(inti=str.length-1;i>=0;i--){
            System.out.print(str[i]+" ");
        }
    }
}
发表于 2017-07-28 22:03:12 回复(2)
也来评论下,题的本意绝不是让你们使用api,
发表于 2021-01-19 19:54:15 回复(0)
public Class Main{
     public static void main(String[] argv){
          Scanner sc=new Scanner(System.in);
         String str=  sc.next();
        String temp;
        String[] strs=str.split(" ");
        int len=strs.length;
       for(int i=0;i<len/2;i++){
              temp=strs[i];
              strs[i]=strs[len-i];
              strs[len-i]=temp;
      }
      return strs.toString();
   }
}

发表于 2019-09-23 00:13:59 回复(0)
public String exchange(String str){
        String c[]=str.split(" ");
        StringBuilder sb=new StringBuilder();
        for(int i=c.length-1;i>=0;i--){
                if(i!=0){
                        sb.append(c[i]).append(" ");
                }else{
                        sb.append(c[i]);
                }
         }
        return sb.toString();
}

发表于 2017-08-01 11:40:14 回复(0)
package nerv;

public class change {

 public static void main(String[] args) {
  // TODO Auto-generated method stub
  String s1 = "i am a student";
  System.out.println("原字符串为:" + s1);
  StringBuffer sb = new StringBuffer(s1);
  StringBuffer s2 = sb.reverse();
  String s3 = s2.toString();
  System.out.println("反向输出后的字符串为:" + s3);
 }

}

发表于 2017-07-28 13:26:15 回复(1)
用两个栈,按字符放入第一个栈里,遇到空格放入第二个栈,再把第一个栈里内容放入第二个栈,直到字符结尾,第二个栈输出就是结果
发表于 2017-07-28 11:20:36 回复(3)