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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 张作辉 中级黑马   /  2016-7-12 21:58  /  13494 人查看  /  39 人回复  /   4 人收藏 转载请遵从CC协议 禁止商业使用本文

                                                                                String 相关
1.定义一个测试类:
类名:Test2
编写主函数:
        1.定义一个字节数组, 内容为97,98,99
        2.定义一个字符串引用s1,使用字符串中的参数为字节数组的构造方法创建字符串对象,传入字节数组
        3.定义一个字符串引用s2,使用字符串中的参数为字符串的构造方法创建字符串对象, 传入参数"helloworld"
        4.定义一个字符数组,内容为 'a','b','c'
        5.定义一个字符串引用s3,使用字符串中的参数为字符数组的构造方法创建字符串对象,传入字符数组
        6.在控制台中输出s1 , s2, s3 的内容

2.定义一个测试类:
类名:Test3
编写主函数:
        1.定义一个字符串引用s1, 赋值为 "itheima"
        2.调用字符串中的方法判断s1中是否包含"ma",并在控制台输出该结果
        3.调用字符串中的方法判断s1是否以"hei"开头,并在控制台输出该结果
        4.调用字符串中的方法判断s1是否以".txt"结尾,并在控制台输出该结果
        5.调用字符串中的方法判断s1内容是否为空,并在控制台中输出结果
        5.调用字符串中的方法判断s1内容是否与"heima"相同,并在控制台中输出结果



3.定义一个测试类:
类名:Test4

编写主函数:
        1.定义一个字符串引用s, 赋值为 "itheima"
        2.调用字符串中的方法,获取字符串的长度,并在控制台中输出结果
        3.调用字符串中的方法,获取字符串中'h'出现的位置,并在控制台中输出结果
        4.调用字符串中的方法,获取字符串中"ma"出现的位置,并在控制台中输出结果
        5.调用字符串中的方法,获取字符串中'i'最后出现的位置,并在控制台中输出结果
        6.调用字符串中的方法,获取字符串中从第二个位置到最后位置的内容,并在控制台中输出结果
        7.调用字符串中的方法,获取字符串中从第二个位置到第四个位置的内容,并在控制台中输出结果
        8.调用字符串中的方法,把字符串中的"hei"替换成"bai",并在控制台中输出结果


4.需求:编写一个程序打印1到100之间的整数,但数字包含7的或者是7的倍数要跳过,例如:7,14,27(十分钟)
思路:
1)首先要for循环遍历1到100,
2)然后进行判断,如果%7!=0就打印,
3)再判断十位数是不是7是就打印,
4)再判断个位数是不是7是就打印

5. 从键盘录入一个字符串,统计该串中有大写字母、小写字母、数字各有多少个。
举例:
        Hello12345World


6.分析以下需求,并用代码实现:
        (1)定义数字字符串数组{"010","3223","666","7890987","123123"}
        (2)判断该数字字符串数组中的数字字符串是否是对称(第一个数字和最后一个数字相等,
           第二个数字和倒数第二个数字是相等的,依次类推)的,并逐个输出
        (3)如:010 是对称的,3223 是对称的,123123 不是对称的
       
        提示:循环获取字符串的每一个字符,依次比较第一个和最后一个,第二个和倒数第二个。。。


7.分析以下需求,并用代码实现:
        (1)定义如下方法public static String getPropertyGetMethodName(String property);
        (2)该方法的参数为String类型,表示用户给定的成员变量的名字,返回值类型为String类型,返回值为成员变量对应的get方法的名字
        (3)如:用户调用此方法时给定的参数为"name",该方法的返回值为"getName"


8.请输入星期几的第一个字母来判断一下是星期几,如果第一个字母一样,则继续 判断第二个字母


9.编写程序,循环接收用户从键盘输入多个字符串,直到输入“end”时循环结束,并将所有已输入的字符串倒序打印

10.编写一个学生封装类Student[包含name,age,sex,address私有属性,共有的方法]
   创建3个Student对象,并给其属性赋值
   定义功能:把Student对象转为字符串,最后打印字符串
   要求输出字符串格式如下:
[name=”xxx”,age=xx,sex=’x’,address=”xxxxx”],
[name=”xxx”,age=xx,sex=’x’,address=”xxxxx”],
[ name=”xxx”,age=xx,sex=’x’,address=”xxxxx”]

11.分析以下需求,并用代码实现:
        (1)模拟Arrays.toString(int[] arr);方法,自己封装一个public static String toString(int[] arr);
        (2)如果int类型数组arr为null,toString方法返回字符串"null"
        (3)如果int类型数组arr长度为0,toString方法返回字符串"[]"
        (4)如果int类型数组arr的内容为{1,2,3,4,5},toString方法返回字符串"[1, 2, 3, 4, 5]"
       
12.分析以下需求,并用代码实现:
        (1)有一个数字字符串"25 11 -6 20 102 9",数字之间用空格间隔       
        (2)利用冒泡排序对这串数字按照从小到大排序,生成一个数值有序的字符串"-6 9 11 20 25 102"
        (3)提示:用String类提供的split方法(用" "(空格)作为split方法的参数来切割),然后生成对应的数字字符串数组
       
13.分析以下需求,并用代码实现:
        (1)键盘录入一个小数,要求小数点后的小数位最少2位
        (2)定义方法,实现保留小数点后的两位小数(只舍不进)
        (3)如:输入5.6789 输出5.67,输入5.67389 输出5.67 (提示:使用 "\\."切割字符串)
       
14.分析以下需求,并用代码实现:
        (1)打印由7,8,9三个数组组成的三位数,要求该三位数中任意两位数字不能相同
        (2)打印格式最后的三位数字以空格分隔,如789 798 879 897 978 987

15. 需求:算一下你来到这个世界多少天?
         * 分析:
         * 1,将生日字符串和今天字符串存在String类型的变量中
         * 2,定义日期格式化对象
         * 3,将日期字符串转换成日期对象
         * 4,通过日期对象后期时间毫秒值
         * 5,将两个时间毫秒值相减除以1000,再除以60,再除以60,再除以24得到天

16. 需求:键盘录入任意一个年份,判断该年是闰年还是平年
         * Calendar c = Calendar.getInstance();
         *
         * 分析:
         * 1,键盘录入年Scanner
         * 2,创建Calendar c = Calendar.getInstance();
         * 3,通过set方法设置为那一年的3月1日
         * 4,将日向前减去1
         * 5,判断日是多少天,如果是29天返回true否则返回false

17. 需求:把字符串反转
        举例:键盘录入"abc"               
        输出结果:"cba

18. 需求:模拟登录,给三次机会,并提示还有几次。
                * 用户名和密码都是admin
                * 分析:
                * 1,模拟登录,需要键盘录入,Scanner
                * 2,给三次机会,需要循环,for
                * 3,并提示有几次,需要判断,if
19. 需求:统计大串中小串出现的次数 这里的大串和小串可以自己根据情况给出
                //定义大串
                String max = "woaiheima,heimabutongyubaima,wulunheimahaishibaima,zhaodaogongzuojiushihaoma";
                //定义小串
                String min = "heima";
=========================================================================================================================
                                                                                                集合相关
1.分析以下需求,并用代码实现:
        (1)生成10个1至100之间的随机整数(不能重复),存入一个List集合(可以先不适用泛型,泛型明天讲)
        (2)编写方法对List集合进行排序,禁用Collections.sort方法和TreeSet
        (2)然后利用迭代器遍历集合元素并输出
        (3)如:15 18 20 40 46 60 65 70 75 91
       
2.分析以下需求,并用代码实现:
        (1)定义List集合,存入多个字符串
        (2)删除集合中字符串"def"
        (3)然后利用迭代器遍历集合元素并输出
       
3.分析以下需求,并用代码实现:
        (1)定义List集合,存入多个字符串
        (2)删除集合中包含0-9数字的字符串(只要字符串中包含0-9中的任意一个数字就需要删除此整个字符串)
        (3)然后利用迭代器遍历集合元素并输出
       
4.分析以下需求,并用代码实现:
        (1)定义一个Worker类型(属性私有、空参有参构造、set、get方法、toString方法、equals方法、hashCode方法),
                包含三个属性:姓名(String name)、年龄(int age)、工资(double salary),在Worker类中定义work方法打印一句话,
                如:"凤姐 正在工作",其中"凤姐"代表当前对象的姓名
        (2)定义List集合,在List集合中增加三个员工,基本信息如下:
                "凤姐" 18 20000
                "欧阳峰" 60 8000
                "刘德华" 40 30000
        (4)在"欧阳峰"之前插入一个员工,信息为:姓名:"张柏芝",年龄:35,工资3300
        (5)删除"刘德华"的信息
        (6)利用for 循环遍历,打印List 中所有员工的信息
        (7)利用迭代遍历,对List 中所有的员工调用work 方法
        (8)为Worker类重写equals 方法,当姓名、年龄、工资全部相等时候才返回true

5.编写一个程序,获取10个1至20的随机数,要求随机数不能重复。并把最终的随机数输出到控制台(提示: 使用 Random 类与 HashSet)

6.使用Scanner从键盘读取一行输入,去掉其中重复字符, 打印出不同的那些字符(例如: aaaabbbcccddd, 输出的是abcd 提示: 使用 HashSet)

7.去除List集合中的重复元素
思路:
         * 1,创建一个LinkedHashSet集合
         * 2,将List集合中所有的元素添加到LinkedHashSet集合
         * 3,将list集合中的元素清除
         * 4,将LinkedHashSet集合中的元素添加回List集合中
        ArrayList<String> list = new ArrayList<>();
        list.add("a");
        list.add("a");
        list.add("a");
        list.add("b");
        list.add("b");
        list.add("b");
        list.add("c");
        list.add("c");
        list.add("c");
        list.add("c");

8.在一个集合中存储了无序并且重复的字符串,定义一个方法,让其有序(字典顺序),而且还不能去除重复
思路:
         * 1,创建TreeSet集合对象,因为String本身就具备比较功能,但是重复不会保留,所以我们用比较器
         * 2,将list集合中所有的元素添加到TrreSet集合中,对其排序,保留重复
         * 3,清空list集合
         * 4,将TreeSet集合中排好序的元素添加到list中
ArrayList<String> list = new ArrayList<>();
list.add("aaa");
list.add("aaa");
list.add("ccc");
list.add("ddd");
list.add("fffffffffff");
list.add("heima");
list.add("itcast");
list.add("bbbb");
list.add("aaa");
list.add("aaa");

9.从键盘接收一个字符串, 程序对其中所有字符进行排序,例如键盘输入: helloitcast程序打印:acehillostt
分析:
         * 1,键盘录入字符串,Scanner
         * 2,将字符串转换为字符数组
         * 3,定义TreeSet集合,传入比较器对字符排序并保留重复
         * 4,遍历字符数组,将每一个字符存储在TreeSet集合中
         * 5,遍历TreeSet集合,打印每一个字符


10.程序启动后, 可以从键盘输入接收多个整数, 直到输入quit时结束输入. 把所有输入的整数倒序排列打印
分析:
         * 1,创建Scanner对象,键盘录入
         * 2,创建TreeSet集合对象,TreeSet集合中传入比较器
         * 3,无限循环不断接收整数,遇到quit退出,因为退出是quit,所以键盘录入的时候应该都以字符串的形式录入
         * 4,判断是quit就退出,不是将其转换为Integer,并添加到集合中
         * 5,遍历TreeSet集合并打印每一个元素

11.需求:键盘录入5个学生信息(姓名,语文成绩,数学成绩,英语成绩),按照总分从高到低输出到控制台
分析:
         * 1,定义一个学生类
         *                 成员变量:姓名,语文成绩,数学成绩,英语成绩,总成绩
         *                 成员方法:空参,有参构造,有参构造的参数分别是姓名,语文成绩,数学成绩,英语成绩
         *                           toString方法,在遍历集合中的Student对象打印对象引用的时候会显示属性值
         * 2,键盘录入需要Scanner,创建键盘录入对象
         * 3,创建TreeSet集合对象,在TreeSet的构造函数中传入比较器,按照总分比较
         * 4,录入五个学生,所以以集合中的学生个数为判断条件,如果size是小于5就进行存储
         * 5,将录入的字符串切割,用逗号切割,会返回一个字符串数组,将字符串数组中从二个元素转换成int数,
         * 6,将转换后的结果封装成Student对象,将Student添加到TreeSet集合中
         * 7,遍历TreeSet集合打印每一个Student对象


12.        需求:统计字符串中每个字符出现的次数
分析:
         * 1,定义一个需要被统计字符的字符串
         * 2,将字符串转换为字符数组
         * 3,定义双列集合,存储字符串中字符以及字符出现的次数
         * 4,遍历字符数组获取每一个字符,并将字符存储在双列集合中
         * 5,存储过程中要做判断,如果集合中不包含这个键,就将该字符当作键,值为1存储,如果集合中包含这个键,就将值加1存储
         * 6,打印双列集合获取字符出现的次数

13.分析以下需求,并用代码实现:
        (1)定义一个员工类Employee,包含三个属性:姓名(String name)、年龄(int age)、工资(int salary)
        (2)创建5个对象装入TreeSet,按照工资从高到底排序输出结果(工资相同,按照年龄从低到高,工资和年龄都相同,
                按照姓名字典顺序排列,但是不能去重(姓名、年龄、工资都相同))

14.分析以下需求,并用代码实现:       
        (1)定义一个TreeSet集合,然后存入6个Double类型的数据,分别是[1.1,5.2,6.3,2.5,5.2,3.3]
        (2)不去重,然后遍历输出(从大到小)
       
                       
15.分析以下需求,并用代码实现:
        (1)打印一个字符串的全字符组合情况,原始字符串中没有重复字符
        (2)例如:原始字符串是"def", 打印得到下列所有组合情况:
                "d" "e" "f" "de" "df" "ed" "ef" "fd" "fe" "def" "dfe" "edf" "efd" "fde" "fed"
        提示: 使用 TreeSet

16.分析以下需求,并用代码实现:
        (1)定义一个学生类Student,包含属性:姓名(String name)、年龄(int age)
        (2)定义Map集合,用Student对象作为key,用字符串(此表示表示学生的住址)作为value
        (3)利用四种方式遍历Map集合中的内容,格式:key::value
       
17.分析以下需求,并用代码实现:
        (1)定义一个学生类Student,属性:姓名(String name)、班级班号(String no)、成绩(double score)
        (2)将若干Student对象存入List集合,并统计每个班级的总分和平均分
                思路:
                        a.采用面向对象的思想
                        b.不推荐使用Map<String,List<Student>> 操作不方便
                        c.推荐使用Map<String,ClassRoom>

39 个回复

倒序浏览
楼主,答案去哪里找啊...基础比较差,想多找些题练习
回复 使用道具 举报
求楼主给下答案
回复 使用道具 举报
楼主哪里有答案啊
回复 使用道具 举报
还都不会做,有没有大神,说说第一题的答案
回复 使用道具 举报
特么的,我既然都忘了..............
回复 使用道具 举报
超绝可爱曾小野 来自手机 中级黑马 2016-8-22 23:13:41
7#
哇  看看
回复 使用道具 举报
枫叶红 来自手机 中级黑马 2016-8-22 23:46:34
8#
这个题不会
回复 使用道具 举报
好厉害都是学过的题,有的都忘了我去
回复 使用道具 举报
题目不错 , 刚好可以复习, 给楼主点赞
回复 使用道具 举报
就是啊 哪里有答案啊
回复 使用道具 举报
杰哥威武 发表于 2016-9-6 22:58
就是啊 哪里有答案啊

需要的我空间有
回复 使用道具 举报

需要的我空间有,刚进黑马  实时更新相关答案
回复 使用道具 举报
求楼主公布下答案,做了几个题,有2个完成了,其他的都是差那么点意思
回复 使用道具 举报
哇~~~看看,感觉会但是还是有些地方差点.
回复 使用道具 举报
  同求答案.
回复 使用道具 举报
怎么没答案.
回复 使用道具 举报
回答一个

String类的第7题

public class test1 {

        public static void main(String[] args) {
                String a = test1.getPropertyGetMethodName("name");
                System.out.println(a);

        }

        public static String getPropertyGetMethodName(String property) {
                String st = "get";
                String str = st.concat(property.substring(0, 1).toUpperCase()
                                .concat(property.substring(1).toLowerCase()));
                return str;
        }

}
回复 使用道具 举报
感谢楼主的分享
回复 使用道具 举报
ouyzm 中级黑马 2016-9-28 23:42:35
20#
有空好好做做
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 加入黑马