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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© STARlove 中级黑马   /  2015-8-20 21:37  /  2529 人查看  /  46 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

package cn.itcast.day12_homework;

public class StringDemo {
        /**
         * 替换功能
         *                 String replace(char oldChar,char newChar):用新的字符去替换指定的旧字符
         *                String replace(String oldString,String newString):用新的字符串去替换指定的旧字符串
         *
         * 切割功能
         *                 String[] split(String regex)
         *
         * 去除字符串两端空格       
         *                 String trim()
         *
         * 按字典顺序比较两个字符串  
         *                int compareTo(String str)
         */
        public static void main(String[] args) {
                // 替换功能
                // String replace(char oldChar,char newChar):用新的字符去替换指定的旧字符
                String str = "  helloworld12345  ";
                System.out.println(str.replace('r', '4'));
                System.out.println(str.replace("ll", "star"));

                // 切割功能
                // String[] split(String regex)
                for (int i = 0; i < str.split("o").length; i++) {
                        System.out.println(str.split("o")[i]);
                }
                for (int i = 0; i < str.split("l").length; i++) {
                        System.out.println(str.split("l")[i]);
                }

                // 去除字符串两端空格
                // String trim()
                System.out.println(str.trim());

                // 按字典顺序比较两个字符串
                // int compareTo(String str)
                System.out.println(str.compareTo("  hello"));
               
                String s1 = "hello";
                String s2 = "aello";
                String s3 = "mello";
                String s4 = "hello";
                String s5 = "Hello";
                System.out.println(s1.compareTo(s2));
                System.out.println(s1.compareTo(s3));
                System.out.println(s1.compareTo(s4));
                System.out.println(s1.compareTo(s5));

        }

}


46 个回复

倒序浏览
  hellowo4ld12345  
  hestaroworld12345  
  hell
w
rld12345  
  he

owor
d12345  
helloworld12345
12
7
-5
0
32
回复 使用道具 举报
谢谢分享  顶
回复 使用道具 举报
package cn.itcast.day12_homework;

import java.util.Scanner;

public class StringCount {
        /**
         * 从键盘录入一个字符串,统计该串中有大写字母、小写字母、数字各有多少个。
         * 举例: Hello12345World
         * 大写 : 2个
         * 小写 : 8个
         * 数字 : 5个
         *
         * 思路: A,定义三个统计变量bigcount/smallcount/numbercount,用以统计大写字母、小写字母、数字;
         * B,获取到每一个字符,遍历字符串 ;
         * C,判断每一个字符所属的范围 'a'--'z' 'A'--'Z' '0'--'9' ;
         * D,判断所属种类。
         */
        public static void main(String[] args) {
                // String s = "Hello12345World";
                int bigcount = 0;
                int smallcount = 0;
                int numbercount = 0;
                // 输入语句:输入一个字符串
                Scanner sc = new Scanner(System.in);
                System.out.println("输入一个字符串:");
                String str = sc.nextLine();

                for (int x = 0; x < str.length(); x++) {
                        // 遍历字符串
                        char ch = str.charAt(x);
                        // if语句判断。。。count数
                        if (ch >= 'a' && ch <= 'z') {
                                smallcount++;
                        } else if (ch >= 'A' && ch <= 'Z') {
                                bigcount++;
                        } else if (ch >= '0' && ch <= '9') {
                                numbercount++;
                        }

                }

                System.out.println("大写字母个数:" + bigcount + "\n小写字母个数:" + smallcount
                                + "\n数字个数:" + numbercount);

        }
}


回复 使用道具 举报
输入一个字符串:
mynameisTodayIs77valentineDAY
大写字母个数:5
小写字母个数:22
数字个数:2
回复 使用道具 举报
package cn.itcast.day12_homework;

import java.util.Scanner;

public class StringLogin {

        /**模拟登录小系统,三次机会,并提示还有几次。
         * @param args
         * 思路:
         * A,用string表示,已经注册的用户名和密码
         * B,用键盘录入数据:用户名和密码
         * C,把数据进行比较
         *                 匹配:成功登录
         *                 不匹配:登录失败
         * D,给三次机会,说明用循环控制。而告诉你了三次,用for循环
         * E,提示还有几次。其实很简单。
         */
        public static void main(String[] args) {
                // 定义已经注册的用户名和密码,用String表示
                String username = "star";
                String password = "starlove";

                // 用for循环,控制输入次数
                for (int i = 0; i < 3; i++) {

                        // 键盘录入数据
                        Scanner sc = new Scanner(System.in);
                        System.out.println("请输入用户名:");
                        String name = sc.nextLine();
                        System.out.println("请输入密码:");
                        String pwd = sc.nextLine();

                        // 对数据进行比较
                        if (username.equals(name) && password.equals(pwd)) {
                                System.out.println("登录成功,WELCOME!");
                                break;
                        } else {
                                System.out.println("登录失败!!!您还有" + (2 - i) + "次机会,请重新输入!!!");
                        }
                }
        }

}
回复 使用道具 举报
漠陌 中级黑马 2015-8-20 22:04:46
7#
感谢分享
回复 使用道具 举报
请输入用户名:
haha
请输入密码:
hehe
登录失败!!!您还有2次机会,请重新输入!!!
请输入用户名:
buhaha
请输入密码:
yaohehe
登录失败!!!您还有1次机会,请重新输入!!!
请输入用户名:
star
请输入密码:
starlove
登录成功,WELCOME!
回复 使用道具 举报
STARlove 发表于 2015-8-20 21:39
hellowo4ld12345  
  hestaroworld12345  
  hell

对“l”的切割。。。两个"l"之间居然是空格,,应该注意一下的地方,,,其他注意的就是对方法的使用吧
回复 使用道具 举报
iamzk 中级黑马 2015-8-20 22:25:24
10#
谢谢分享
回复 使用道具 举报
不错,学习了。
回复 使用道具 举报
谢谢分享 刚好有我现在想看到的
回复 使用道具 举报
来看看 看着不错
回复 使用道具 举报
好像很有用的样子
回复 使用道具 举报
本帖最后由 STARlove 于 2015-8-21 00:08 编辑

package cn.itcast.day12_homework;

public class StringNba {

        /**
         * 获取一个字符串中指定子串出的次数。比如说“hanbasdnbafllgnbahjnbakqqqqlnbaxi” 在这个字符串中,多少个nba?
         *
         * @param args
         * 思路:
         * A,定义待取字符串以及字符串“nba”,一长一短
         * B,定义计数器功能,用以统计次数。默认值为0
         * C,在大串中查找小串第一次出现的索引;index()
         *                 如果存在,就返回索引,并且统计变量++
         *                 如果不存在,就返回-1,并且直接把统计变量值返回即可
         * D,把上次查找的小串的第一个字符的索引记录住,
         *                 然后从这个索引小串长度处开始截取大串,
         *                 重新赋值给以前的大串,回到C继续。
         */
        public static void main(String[] args) {
//                定义长串和短串
                String str = "hanbasdnbafllgnbahjnbakqqqqlnbaxnbai";
                String regex = "nba";
//                定义统计变量
//                int count1 = getCount1(str,regex);
                int count2 = getCount2(str,regex);
//                System.out.println(count1);
                System.out.println(count2);
        }
/*
*         返回值:统计变量的值          int 参数列表:        大串和小串
*/
        /*public static int getCount1(String maxString,String minString){
//                定义统计变量
                int count1 = 0;
//                在大串中查找小串一次
                int index = maxString.indexOf(minString);
//                如果返回值不是-1,说明小串在大串中存在
                while (index != -1) {
//                        统计变量++
                        count1++;
//                        截取查找过的数据,重新给大串赋值
                        maxString = maxString.substring(index + minString.length());
//                        在新的大串中查找一次小串
                        index = maxString.indexOf(minString);
                }
                return count1;
        }*/

//        优化代码
        public static int getCount2(String maxString,String minString){
//                定义统计变量
                int count2 = 0;
//                在大串中查找小串一次
                int index = 0;
//                如果返回值不是-1,说明小串在大串中是存在的
//                判断、
                while ((index = maxString.indexOf(minString)) != -1) {
//                        统计变量
                        count2++;
//                        把查找过的数据给截取掉,重新赋值给大串
                        maxString = maxString.substring(index + minString.length());
                }
                return count2;
        }

}


回复 使用道具 举报
STARlove 发表于 2015-8-20 23:57
package cn.itcast.day12_homework;

public class StringNba {

自己都有点小晕的代码。。。我要打它十遍九遍。。。。。。。。。。。。。
回复 使用道具 举报

helloworld才是最屌的。。。。。。。。。。。。。
回复 使用道具 举报
13706649811 发表于 2015-8-20 23:03
谢谢分享 刚好有我现在想看到的

这章的代码。。。细节很重要啊!!!!!!!!!!!  
回复 使用道具 举报
这是个好贴,顶起!
回复 使用道具 举报
谢谢分享
回复 使用道具 举报
123下一页
您需要登录后才可以回帖 登录 | 加入黑马