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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 请叫我廖小帅 中级黑马   /  2016-11-17 20:18  /  2084 人查看  /  10 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

* 编程. 已知字符串:"this is a test of java".
         *
         * 按要求执行以下操作:
         * (1) 统计该字符串中字母s出现的次数
         * (2) 取出子字符串"test"
         * (3) 用多种方式将本字符串复制到一个字符数组Char[] str中.
         * (4) 将字符串中每个单词的第一个字母变成大写, 输出到控制台。
         * (5) 用两种方式实现该字符串的倒叙输出。(用StringBuffer和for循环方式分别实现)
         * (6) 将本字符串转换成一个字符串数组,要求每个数组元素都是一个有意义的额英文单词,并输出到控制台

  这道题我感觉非常复杂 求解答!!!

10 个回复

倒序浏览
  求大牛解答出来完整答案!! 以及思路注释一下!!!
回复 使用道具 举报
回复 使用道具 举报
1、将该字符串转成字符数组Chat[]
2、将字符数组遍历,拿到每一个字符
3、每个字符与“s”做比较,相同则自增
来自宇宙超级黑马专属苹果客户端来自宇宙超级黑马专属苹果客户端
回复 使用道具 举报

public class Homework2 {

        public static void main(String[] args) {
                String str = "this is a test of java"; // 定义数组

                getS_Num(str);// (1)
               
                String s2 = str.substring(str.indexOf("test"), str.indexOf("test") + 4);//(2)
                // 需要的是数组,外层调用substring(int beginIndex,int endIndex) 截取数组,参数列表代表截取的开始和结束索引,str.indexOf("test")调用获取索引的方法,
                // 后面直接加上test的字符串长度,就能获取到test
                char[]str2= str.toCharArray();//(3)调用toCharArray()方法,把字符串转换为字符数组。
                bianDaXie(str);// (4)
                test51(str);// (5)
                test52(str);
                String[] arr56 = str.split("\\s+"); // (6)调用split方法抛出空格
                for (int i = 0; i < arr56.length; i++) {
                        System.out.println(arr56[i]);
                }
        }

        private static void test52(String str) {
                StringBuffer s6 = new StringBuffer(str); // 创建StringBuffer对象
                s6 = s6.reverse(); // 调用reverse反转
                System.out.println(s6); // 输出
        }

        private static void test51(String str) {
                char[] arr5 = str.toCharArray(); // 讲字符串转成char数组
                String s5 = ""; // 空字符串
                for (int i = arr5.length - 1; i >= 0; i--) { // 反向遍历字符串数组
                        s5 += arr5[i];
                }
                System.out.println(s5);
        }

        private static void bianDaXie(String str) {
                char[] arr3 = str.toCharArray(); // 将字符串转成char数组
                int toBig = 'A' - 'a'; // 变大的条件
                arr3[0] = (char) (arr3[0] + toBig); // 第一个字母改成大写
                for (int i = 1; i < arr3.length; i++) { // 从第二个数开始便利
                        if (arr3[i] == ' ') { // 判断是否遇到空格
                                arr3[i + 1] += toBig; // 遇到空格就对后面一个字符变成大写
                        }
                }
                String strNew = String.valueOf(arr3);
                System.out.println(strNew);
        }

        private static void getS_Num(String str) { // 获取s出现的次数

                char[] arr = str.toCharArray(); // 讲字符串转成char数组
                int count = 0; // 计数器,统计s出现次数
                for (int i = 1; i < arr.length; i++) { // 遍历字符串数组
                        if (arr[i] == 's') { // 判断是否是s
                                count++; // 是的话计数器+1
                        }
                }
                System.out.println(count); // 遍历完了也判断完了,就可以输出计数器统计到的次数了
        }

}

来自宇宙超级黑马专属苹果客户端来自宇宙超级黑马专属苹果客户端
回复 使用道具 举报
赞。。。这题目看的有点慌。。多谢分享的题目及答案。。
回复 使用道具 举报
package com.heima.test;

public class Test1 {
        public static void main(String[] args) {
                String s="this is a test of java";
                char [] c=s.toCharArray();
                count(c);                                                                        //统计s的个数;
                getTest(s);                                                                        //取出test;
                char[]str=s.toCharArray();                                        //复制到字符串数组中
                toBig(str);                                                                        //单词的首字母变成大写
                method1(s);
                System.out.println();
                mothod2(s);
                String[]str1=s.split(" ");
                method3(str1);
        }

        public static void method3(String[] str1) {
                for (String string : str1) {
                        System.out.print(string+" ");
                }
        }

        public static void mothod2(String s) {
                StringBuffer sb=new StringBuffer(s);
                StringBuffer sb1=sb.reverse();
                System.out.println(sb1);
        }

        public static void method1(String s) {
                char[]str=s.toCharArray();
                for (int i = str.length-1; i >=0; i--) {
                        System.out.print(str[i]);
                }
        }

        public static void toBig(char[] str) {
                int tobig='A'-'a';
                str[0]=(char)(str[0]+tobig);
                for (int i = 1; i < str.length; i++) {
                        if (str[i]==' ') {
                                str[i+1]+=tobig;
                        }
                }
                String strNew=String.valueOf(str);
                System.out.println(strNew);
        }

        public static void getTest(String s) {                                                                        //取出字符串"test"
                String [] str=s.split(" ");
                for (int i = 0; i < str.length; i++) {
                        if (str[i].equals("test")) {
                        System.out.println(str[i]);
                        break;
                        }
                }
        }

        public static void count(char[] c) {
                int count=0;
                for (int i = 0; i < c.length; i++) {
                        if (c[i]=='s') {
                                count++;
                        }
                }
                System.out.println("count="+count);
        }
}
回复 使用道具 举报
明月已驻人何在 发表于 2016-11-17 21:00
java第12天的练习题啊

不会吧   目前已经第10天   感觉看这道题还不知道如何下手呢
来自宇宙超级黑马专属苹果客户端来自宇宙超级黑马专属苹果客户端
回复 使用道具 举报
老司机带带我 发表于 2016-11-19 13:12
不会吧   目前已经第10天   感觉看这道题还不知道如何下手呢

熟悉方法啊!然后对着例题理解,再敲,知道它的功能和用法,不就ok了
来自宇宙超级黑马专属苹果客户端来自宇宙超级黑马专属苹果客户端
回复 使用道具 举报
明月已驻人何在 发表于 2016-11-19 21:24
熟悉方法啊!然后对着例题理解,再敲,知道它的功能和用法,不就ok了

嗯,非常感谢,正在很努力的思索做题思路,敲代码,还是很相信自己的
来自宇宙超级黑马专属苹果客户端来自宇宙超级黑马专属苹果客户端
回复 使用道具 举报
明月已驻人何在 发表于 2016-11-19 21:24
熟悉方法啊!然后对着例题理解,再敲,知道它的功能和用法,不就ok了

对字符串理解非常弱!!!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马