黑马程序员技术交流社区

标题: 出点java基础的题,温故而知新 [打印本页]

作者: Maroon    时间: 2016-9-13 23:03
标题: 出点java基础的题,温故而知新
1.输入一个字符串,分别统计出其中英文字母、空格、数字和其它字符的数量
2.定义一个实体类有姓名、学号、成绩(int类型)三个属性
                (1)在创建对象时给这些属性进行显示初始化
                (2)将学生的信息(姓名、学号、成绩)存入到适当的集合,并且根据学生成绩按照降序打印到控制台,
                如果成绩相同,则只保留一个学生
3.有一个字符串
         *"woailol,butxianzaixuexihenjinbunenglol,dengdaowobiyelewoyaololgesantiansanye"
         *删除该字符串中所有的"lol"并且统计删除了多少个“lol”
作者: jiubaK    时间: 2016-9-13 23:14
好熟悉的赶脚
作者: yigezhifu    时间: 2016-9-13 23:31
记下了,等下去做
作者: dydwjc    时间: 2016-9-13 23:36
第一题:
// 键盘录入一个字符串
                Scanner sc = new Scanner(System.in);
                System.out.println("请输入一个字符串:");
                // 定义一个字符串变量接收
                String line = sc.nextLine();
                // 定义四个变量分别统计每个字符的次数
                int english = 0;// 英文
                int kongge = 0;// 空格
                int num = 0;// 数字
                int other = 0;// 其他字符

                //遍历字符串
                for (int i = 0; i < line.length(); i++) {
                        // 定义一个字符变量存储每个字符
                        char c = line.charAt(i);
                        // 判断如果包含英文字符english就自增1
                        if (c >= 'a' && c <= 'z' || c >= 'A' && c <= 'Z') {
                                english++;
                                // 如果包含空格.kongge自增
                        } else if (c == ' ') {
                                kongge++;
                                // 如果包含数字num自增
                        } else if (c >= '0' && c <= '9') {
                                num++;
                                //如果是其他字符other自增
                        }else {
                                other++;
                        }
                }
                //打印
                System.out.println("英文字母有" + english + "个,空格有" + kongge + "个,数字有" + num
                                + "个,其他字符有" + other + "个");
作者: 回根的落叶    时间: 2016-9-13 23:57

        /**
         * 3.有一个字符串
         *"woailol,butxianzaixuexihenjinbunenglol,dengdaowobiyelewoyaololgesantiansanye"
         *删除该字符串中所有的"lol"并且统计删除了多少个“lol”
         */
        public static void main(String[] args) {
                //定义字符串变量s存储需要遍历的字符串
                String s = "woailol,butxianzaixuexihenjinbunenglol,dengdaowobiyelewoyaololgesantiansanye";
                String strDel = "lol";                //定义字符串变量存储要删除的子字符串
               
                int count = 0;                                //计数器,用于计数lol在原串中出现的次数
                int index = 0;                                //计数器,用于存储索引值
                while ((index = s.indexOf(strDel, index)) != -1) {                //只要在原串中能够一直找到要删除的子串,那么索引值就不会等于-1
                        count ++;                                        //进入循环,说明找到要删除的子字符串,所以计数器 count 加1
                        index += strDel.length();        //将新的索引位置重写赋值给index
                }  
                String newStr = s.replace(strDel, "");                //使用替换方法,将原串中的"lol"替换为""空串
                System.out.println("删除字符串中所有的的" + strDel + "后的新串是:" + newStr);
                System.out.println("从\"" + s + "\"中删除了" + count + "个" + strDel);
        }
}





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