黑马程序员技术交流社区

标题: 发几个今天需要学习的小代码 [打印本页]

作者: STARlove    时间: 2015-8-20 21:37
标题: 发几个今天需要学习的小代码
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));

        }

}



作者: STARlove    时间: 2015-8-20 21:39
  hellowo4ld12345  
  hestaroworld12345  
  hell
w
rld12345  
  he

owor
d12345  
helloworld12345
12
7
-5
0
32

作者: 平爷    时间: 2015-8-20 21:41
谢谢分享  顶
作者: STARlove    时间: 2015-8-20 21:42
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);

        }
}



作者: STARlove    时间: 2015-8-20 21:44
输入一个字符串:
mynameisTodayIs77valentineDAY
大写字母个数:5
小写字母个数:22
数字个数:2
作者: STARlove    时间: 2015-8-20 22:04
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
感谢分享
作者: STARlove    时间: 2015-8-20 22:06
请输入用户名:
haha
请输入密码:
hehe
登录失败!!!您还有2次机会,请重新输入!!!
请输入用户名:
buhaha
请输入密码:
yaohehe
登录失败!!!您还有1次机会,请重新输入!!!
请输入用户名:
star
请输入密码:
starlove
登录成功,WELCOME!

作者: STARlove    时间: 2015-8-20 22:20
STARlove 发表于 2015-8-20 21:39
hellowo4ld12345  
  hestaroworld12345  
  hell

对“l”的切割。。。两个"l"之间居然是空格,,应该注意一下的地方,,,其他注意的就是对方法的使用吧
作者: iamzk    时间: 2015-8-20 22:25
谢谢分享
作者: 黑马的味道    时间: 2015-8-20 22:25
不错,学习了。
作者: 13706649811    时间: 2015-8-20 23:03
谢谢分享 刚好有我现在想看到的
作者: beimenshisan    时间: 2015-8-20 23:13
来看看 看着不错
作者: wangboxiao12345    时间: 2015-8-20 23:53
好像很有用的样子
作者: STARlove    时间: 2015-8-20 23:57
本帖最后由 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-21 00:00
STARlove 发表于 2015-8-20 23:57
package cn.itcast.day12_homework;

public class StringNba {

自己都有点小晕的代码。。。我要打它十遍九遍。。。。。。。。。。。。。
作者: STARlove    时间: 2015-8-21 00:02
wangboxiao12345 发表于 2015-8-20 23:53
好像很有用的样子

helloworld才是最屌的。。。。。。。。。。。。。
作者: STARlove    时间: 2015-8-21 00:03
13706649811 发表于 2015-8-20 23:03
谢谢分享 刚好有我现在想看到的

这章的代码。。。细节很重要啊!!!!!!!!!!!  
作者: yangkai69    时间: 2015-8-21 00:05
这是个好贴,顶起!
作者: a554305211    时间: 2015-8-21 00:38
谢谢分享
作者: 不忘初心、    时间: 2015-8-21 00:46
我掐指一算,就知道你是0803班的
作者: cc3441251    时间: 2015-8-21 00:51
每天记录是个好习惯
作者: 风华正茂    时间: 2015-8-21 11:21
谢谢楼主分享,楼主辛苦了
作者: 寒星在天    时间: 2015-8-21 13:24
咋这么常


作者: 千山万水    时间: 2015-8-21 16:17
谢谢分享。。。
作者: STARlove    时间: 2015-8-21 21:24
寒星在天 发表于 2015-8-21 13:24
咋这么常

很短啊。。。。。。。。。。
作者: 天使也掉毛    时间: 2015-8-21 22:05
目测是常用类 第十二天讲的课
作者: STARlove    时间: 2015-8-21 22:13
天使也掉毛 发表于 2015-8-21 22:05
目测是常用类 第十二天讲的课

API..........................
作者: cemabenteng    时间: 2015-8-21 22:18
加油吧,就业班的进度是基础班的两倍不止
作者: STARlove    时间: 2015-8-21 22:30
不忘初心、 发表于 2015-8-21 00:46
我掐指一算,就知道你是0803班的

我不是。。。。。。。。。。。。。。我是。。。。。。。。。。。。。。。。。。。我是不是????????????????????????{:2_32:}
作者: STARlove    时间: 2015-8-21 22:32
cemabenteng 发表于 2015-8-21 22:18
加油吧,就业班的进度是基础班的两倍不止

就业班很好进吗?我以为会有些难度的???

据说每天都要学到很晚。。。现在正在适应一两点钟睡觉觉的节奏。。。未来  ,,,总会是好的。。。都要加油
作者: STARlove    时间: 2015-8-21 22:34
beimenshisan 发表于 2015-8-20 23:13
来看看 看着不错

一般吧。。。。。。。。。。。。我很低调哒{:2_43:}
作者: helloxiaoyu    时间: 2015-8-21 23:17
好像很好的样子
作者: jungle_2329    时间: 2015-8-21 23:21
谢谢分享 刚好有我现在想看到的
作者: STARlove    时间: 2015-8-21 23:31
jungle_2329 发表于 2015-8-21 23:21
谢谢分享 刚好有我现在想看到的

hahahahahahahahhahahahahahahahahahahhahahahahaha{:2_40:}
作者: 追梦天涯33    时间: 2015-8-22 00:24
我们的进度!飘一下

import java.util.ArrayList;
import java.util.Iterator;

public class Test2 {
  public static  void main(String[] args) {
        //创建集合
          ArrayList<String> c = new ArrayList<String>();
      //创建元素对象并导入
          c.add("我");
          c.add("想");
          c.add("上");
          c.add("黑");
          c.add("马");
         // System.out.println(c);
          Iterator<String> iterator = c.iterator();
                //迭代输出
          while(iterator.hasNext()){
                   String s = (String) iterator.next();
                   System.out.println(s);
          }
}
}
作者: jumtop    时间: 2015-8-22 10:20
不错,赞!!!
作者: 追梦天涯33    时间: 2015-8-22 10:48
这是常用API里的知识吧!用到的挺多的是重点但不是难点!
作者: MoonsenHung    时间: 2015-8-22 10:58
非常感谢你的分享啊,,学到东西。。。
作者: STARlove    时间: 2015-8-22 21:56
追梦天涯33 发表于 2015-8-22 10:48
这是常用API里的知识吧!用到的挺多的是重点但不是难点!

嗯嗯。。对的。。。难就在于知道有这个个功能
作者: cemabenteng    时间: 2015-8-23 11:13
STARlove 发表于 2015-8-21 22:32
就业班很好进吗?我以为会有些难度的???

据说每天都要学到很晚。。。现在正在适应一两点钟睡觉觉的节 ...

就业班还是很好进的,只不过想上最近的班可能有点难度,我进就业班的时候正好赶上人多不好进,现在不清楚,有的隔几天就能上就业班,有的隔二十天,有的隔一个月,就业班东西很多,这么说吧,如果就业班的进度去讲基础班,一周基础班的就学完了,学习到十二点就够了,不要到一两点,上课很重要,不要耽误上课,我就是上课容易走神...效率比较低
作者: myself123    时间: 2015-8-23 14:09
学习了楼主
作者: 三分之一    时间: 2015-8-23 14:16
我也就觉得这章细节很重要
作者: STARlove    时间: 2015-8-23 21:41
cemabenteng 发表于 2015-8-23 11:13
就业班还是很好进的,只不过想上最近的班可能有点难度,我进就业班的时候正好赶上人多不好进,现在不清楚,有 ...

enha ...谢谢    指导。。。{:2_32:}棒棒哒




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2