A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© snnairow 中级黑马   /  2015-11-14 21:59  /  3793 人查看  /  16 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

20黑马币
键盘录入一段英文,将其中的单词以反序输出。
例如:
        “I love heima” →"I evol amieh"

最佳答案

查看完整内容

/** * 题目: * 接收用户输入的一句英文,将其中的单词以反序输出。 * * 例如:“I love you” →"I evol uoy" * 思路: * 先创建Scanner对象 * 用string接收 * 再用String中的split将字符串分割,存在String[]数组中 * * */ public static void main(String[] args) { Scanner sc = new Scanner(System.in); String s1 =sc.nextLine(); String[] arr1 = s1.split("\\s"); //StringBuilder ...

16 个回复

倒序浏览

        /**
         * 题目:
         * 接收用户输入的一句英文,将其中的单词以反序输出。
         *
         * 例如:“I love you” →"I evol uoy"
         * 思路:
         * 先创建Scanner对象
         * 用string接收
         * 再用String中的split将字符串分割,存在String[]数组中
         *
         *
         */
        public static void main(String[] args) {
                Scanner sc = new Scanner(System.in);
                String s1 =sc.nextLine();
                String[] arr1 = s1.split("\\s");
               
                //StringBuilder[] arr2 = new StringBuilder[arr1.length];
               
                StringBuilder sb2 = new StringBuilder();
                for (int i = 0; i < arr1.length; i++) {
                        StringBuilder sb =new StringBuilder(arr1[i]);
                        sb.reverse();
                        if(i==arr1.length) {
                                sb2 .append(sb);
                        }else {
                                sb2.append(sb).append(" ");
                        }
                }
                System.out.println(sb2);
               
        }
回复 使用道具 举报
public class Test4 {                           public static void main(String args[]){                  Scanner scanner=new Scanner(System.in);                 String str=scanner.next();                 StringBuffer sb=new StringBuffer(str);                 StringBuffer result=sb.reverse();                 System.out.println(result.toString()); } }
回复 使用道具 举报
public class Test4 {
       

                public static void main(String args[]){

                Scanner scanner=new Scanner(System.in);
                String str=scanner.next();
                StringBuffer sb=new StringBuffer(str);
                StringBuffer result=sb.reverse();
                System.out.println(result.toString());
}
}
回复 使用道具 举报
import java.util.Scanner;

public class Test_03 {

        /**
         * @param args
         */
        public static void main(String[] args) {
                Scanner sc = new Scanner(System.in);
                System.out.println("请输入一个字符串:");
                String s = sc.nextLine();
                String[] arr = s.split(" ");
                StringBuffer sb = new StringBuffer();
                for (int i = 0; i < arr.length; i++) {
                        if (i == arr.length - 1) {
                                sb = sb.append(new StringBuffer(arr[i]).reverse());
                        } else {
                                sb = sb.append(new StringBuffer(arr[i]).reverse()).append(" ");
                        }
                }
                System.out.println(sb);
        }
}
回复 使用道具 举报
  1. import java.util.Scanner;

  2. public class InvertedSequence {

  3.         /**
  4.          * @param args
  5.          */
  6.         public static void main(String[] args) {
  7.                 Scanner scn=new Scanner(System.in);
  8.                 System.out.println("Please input a sentence: ");
  9.                 String line=scn.nextLine();
  10.                 String result=stringInverted(line);
  11.                 System.out.println(result);
  12.         }
  13.         public static String stringInverted(String ste) {
  14.                 String[] ar=ste.split("\\s");           //按空格切割字符串
  15.                 StringBuffer sb=new StringBuffer();     //用来拼接反转好的单词
  16.                 for(int i=0;i<ar.length; i++) {
  17.                         ar[i]=new StringBuffer(ar[i]).reverse().toString();
  18.                         sb.append(ar[i]);   
  19.                         if (ar.length-1!=i) {  // 最后一个单词不用跟空格
  20.                                 sb.append(" ");  
  21.                         }       
  22.                 }
  23.                 return sb.toString();
  24.         }

  25. }
复制代码
回复 使用道具 举报
import java.util.Scanner;

public class Test {

        public static void main(String[] args) {
               
                String[] arr = new String[100];
                Scanner sc = new Scanner(System.in);
                System.out.println("输入并回车");
               
      for(int i=0;;i++)
                if (sc.hasNext()) {
                        arr[i] = sc.next();
                        char brr[]=arr[i].toCharArray();
                        fanzhuan(brr);
                }
                else
                        {
                        break;
                        }               
        }
public static void fanzhuan(char[] arr)
{
        for (int i = arr.length-1; i >=0 ; i--) {
                System.out.print(arr[i]);
        }
        System.out.print(" ");
}
}
回复 使用道具 举报
一楼二楼有问题,明显第一个字母不是倒序
回复 使用道具 举报
get and looklook
回复 使用道具 举报
/*
* 字符串abcdefg,要求按逆序输出为gfedcba
*/
public class ReverseSort {

        /**
         * @param args
         */
        public static void main(String[] args) {
                // TODO Auto-generated method stub
     String str = "abcdefg";
     String sortedStr=reverseSort(str);
     System.out.println(sortedStr);
        }
public        static String reverseSort(String str){
                String str2=null;
                for(int i=str.length()-1;i>-1;i--)
                {
                        str2+=String.valueOf(str.charAt(i));
                }
               
        return str2;
}
}
输出结果是gfedcba
回复 使用道具 举报
悬赏很高,看看
回复 使用道具 举报
其实最主要的还是思路:按照空格拆分单词成单词数组   循环数组的每个元素,有个reverse的方法可以试下,我之前做过,代码不是主要,思路最重要,有机会好好交流交流。
回复 使用道具 举报
流浪剑客丶 来自手机 中级黑马 2015-11-15 21:28:27
13#
[quote]snnairow 发表于 2015-11-14 21:59
键盘录入一段英文,将其中的单词以反序输出。
例如:
        “I love heima” →

可以先把前面的这句话定义成字符串,然后转成数组,再用反转方法就好啦,思路最重要,望采纳,收集黑马币中
回复 使用道具 举报
import java.util.Scanner;

public class Test2 {

        /*
         需求:
                 键盘录入字符串                "i love heima"                       
                 控制台输出字符串                "i evol amieh"
                
        思路:
                1.找到字符串str中的第一个空格的索引,截取第一个单词subStr,并把空格后面的字符串赋给str,使用循环。
                2.单词subStr转成字符数组,数组逆序后追加到StringBuffer容器。
                 
         */
       
        public static void main(String[] args) {
                Scanner sc = new Scanner(System.in);
                StringBuffer sb = new StringBuffer();                                //每个单词逆序后追加到sb中
                System.out.println("输入字符串");
                String str = sc.nextLine();                                                        //str接收键盘录入的字符串
                while (true) {
                        int index;                                                                                //用于记录str中第一个空格的索引
                        String subStr;                                                                        //用于记录截取的单词
                       
                        if ((index = str.indexOf(' ', 0)) != -1) {                //str中存在空格,记录第一个空格的索引
                                subStr = str.substring(0, index);                        //截取单词
                                char[] arr = subStr.toCharArray();                        //把单词字符串转成字符数组
                                reverse(arr);                                                                //调用数组逆序方法,字符数组逆序
                                sb.append(arr).append(" ");                                        //逆序后的字符数组追加到sb中,此处追加一个空格                                                                                                                       
                                str = str.substring(index + 1);                                //截取单词后把空格后面的字符串赋给str
                        } else {                                                                               
               
                                char[] arr = str.toCharArray();                                //当str中没有空格时(最后一个单词)就不要再截取了
                                reverse(arr);                                                               
                                sb.append(arr);                                                                //此处不向sb中追加空格
                                break;                                                                                //最后一个单词完成跳出循环
                               
                        }
                }
                       
                System.out.println(sb);                                                                //打印结果
        }
        //数组逆序方法       
        public static void reverse(char[] arr) {
                for (int i = 0; i < arr.length / 2; i++) {
                        char temp = arr[i];
                        arr[i] = arr[arr.length - 1 - i];
                        arr[arr.length - 1 - i] = temp;
                }
               
        }
       
}
回复 使用道具 举报
看到都是java写的你都没给分,是不是想要个c的?哥求打赏黑马币啊   急需

  1. #include <stdio.h>

  2. int main(int argc, const char * argv[]) {

  3.     char c;//记录单个字符
  4.     char arr[10];//存入输入字符串
  5.     int i = 0;//字符串长度
  6.    
  7.     printf("请输入:\n");
  8.    
  9.     //批量存入
  10.     while (1) {
  11.         scanf("%c",&c);
  12.         if (c == '\n') {
  13.             break;
  14.         }
  15.         arr[i] = c;
  16.         i++;
  17.     }
  18.    
  19.     //打印倒序字符串
  20.     while (i>=0) {
  21.         i--;//arr[i-1]为最后一个字符
  22.         printf("%c",arr[i]);
  23.     }

  24.     printf("\n");
  25.    
  26.     return 0;
  27. }
复制代码
回复 使用道具 举报
潘俊 中级黑马 2015-11-15 22:54:53
16#
我就是来看看~~
回复 使用道具 举报
都是人才啊
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马