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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© Zengpenh 中级黑马   /  2018-1-11 23:23  /  2596 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

1、String类的功能练习
2、面向对象
3、二维数组
3、构造函数
4、this关键字的使用
public class StringTest3 {
public static void main(String[] args) {
        //1.编写程序将 “jdk” 全部变为大写,并输出到屏幕,截取子串”DK” 并输出到屏幕
                /*分析:
                 * 1,需要定义一个字符串变量记录住"jdk"
                 * 2,需要使用String toUpperCase()功能将全部字母变成大写
                 * 3,需要使用String substring(int start,int end)截取DK
                 *
                 * */
        String string="jdk";
        String upperCase = string.toUpperCase();
        String substring = upperCase.substring(1,3);
        System.out.println(upperCase);
        System.out.println(substring);
       
        /*2.编写程序将String类型字符串”test” 变为 “tset”. (toCharArray())
         * 分析:1,需要定义一个字符串变量记录数据
         *     2,需要使用toCharArray将字符串转换为数组
         *     3,然后置换
         *
         * */
                String string2 = "test";
                char[] s = string2.toCharArray();
                System.out.println(s);
                int index=0;
                int index1=0;
               
                for(int a=0;a<s.length;a++){
                        for(int b=0;b<a+1;b++){
                        if(a==1){
                                index=a;
                        }
                        if(a==2){
                                index1=a;
                        }
                        //System.out.println(s[a]);
                        char temp=s[index];
                        s[index]=s[index1];
                        s[index1]=temp;
                       
                        }
                }
                System.out.println(s);
//                        System.out.println(index);
//                        System.out.println(index1);
               

                /*3. String s = "113@ ere qqq yyui"  
                                请输出所有子串
                                113@
                                ere
                                qqq
                                yyui
                分析:1,需定义一个String类型变量并赋值为" 113@ ere qqq yyui"
                        2,需要使用String substring(int start,int end)截取
                        */
                String string3="113@ ere qqq yyui";
                String substring2 = string3.substring(0, 4);
                System.out.println(substring2);
                String substring3 = string3.substring(5, 8);
                System.out.println(substring3);
                String substring4 = string3.substring(9, 12);
                System.out.println(substring4);
                String substring5 = string3.substring(13, 16);
                System.out.println(substring5);
               
               
               
                /*4. 编写一个程序,将下面的一段文本中的各个单词的字母顺序翻转,
                        “To be or not to be",将变成"oT eb ro ton ot eb."。
                分析:1,需定义一个String类型的名字赋值为"To be or not to be"
                        2,String[] split(String str)   按照括号里的内容对字符串进行切割
                        3,定义一个新的String类接收新的字符
                       
                 * */
                String shu="To be or not to be";
                String[] split = shu.split(" ");//将shu 字符串转换成数组类型按" "切割  切割后的数组角标0就是To 角标2就是be
                String z="";//定义一个字符串类型的变量接收最后新的字符串
       
                for(int a=0;a<split.length;a++){//遍历split数组
                        String zz=split[a];//用zz记录住每一个角标的字符
                        //System.out.println(zz);
                        char[] charArray = zz.toCharArray();//再将每个字符转换为字符数组
                        String ww="";
                        for(int b=charArray.length;b>0;b--){/*遍历charArray这个数组,因为这个数组中自由两个字符,从最后一个
                                角标遍历,便能将字符反转*/
                                ww=ww+charArray[b-1];
                        }
                        z=z+ww+" ";
                }
               
                System.out.println(z);
               
               
               
                /*5.String s=”name=zhangsan age=18 classNo=090728”;
                将上面的字符串拆分,结果如下:
                zhangsan 18 090728

                 * */
                String string4 = "name=zhangsan age=18 classNo=090728";
                String[] split2 = string4.split(" ");//将string字符串按照" "切割,切割后分为三段字符串
                String d = "";//定义一个空字符的d记录最后的结果
                for (int a = 0; a < split2.length; a++) {//遍历split2数组
                        String cc = split2[a];//记录每一个角标下的字符串
                        int indexOf = cc.indexOf("=");//获取每个角标下的字符串"="所处的角标
                        String substring6 = cc.substring(indexOf+1);//获取"="下的角标+1后的字符
                        d=substring6+" ";
                        System.out.print(d);

                }
                System.out.println();
               
                /*6. 给定一个字符串,判断该字符串中是否包含某个子串.如果包含,求出子串的所有出现位置.
                 * (查询indexOf(String str,int FromIndex)方法)
                如:"abcbcbabcb34bcbd"中,"bcb"子串的出现位置为: 1,7,12.字符串和子串均由用户输入

                 * */
                String string5 = "abcbababcb34bcbd";

                char[] arry = string5.toCharArray();
                int count = 0;
                int sum=0;
                for (int a = 0; a < arry.length; a++) {
                        int indexOf = string5.indexOf("bcb", a);
                        sum=indexOf;
                        if (indexOf == a) {
                                System.out.print(indexOf);
                                count++;
                               
                        }
                }
                if (count == 0) {
                        System.out.println("找不到");
                       
                }
        }
}


4 个回复

倒序浏览
哇。666
回复 使用道具 举报
继续努力,加油!
回复 使用道具 举报
期待继续更新哟~~~~
回复 使用道具 举报
希望每天都看见你在进步
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马