题目:
1、请运行下面code,指出其功能;(需附运行结果截图,并用简短文字描述其功能)
2、请将该code进行代码重构,使之模块化,并易于阅读和维护;
3、观看视频The Expert (Short Comedy Sketch),写出观后感(内容是什么,说明了什么问题,有什么启示),提交到博客!
4、学习在项目中使用 jar 文件:
(1)在下列code中导入jar文件“commons-lang3-3.3.2.jar”,并运行,将运行结果截图提交到博客:
答:
第1题:结果截图
功能:随机获取列表里的三个姓和三个名,然后再随机生成三个18到38之间的数作为年龄。
第2题:进行重构以后的代码:
package dhh; import java.util.ArrayList; import java.util.List; import java.util.Random; public class Driver { private static String[] lastNames = {"Doe", "Smith", "Jones", "Adams", "Marshall", "Thompson", "Bradley", "Brown", "White", "Franklin", "Davis", "Cohn", "Clark"}; private static String[] firstNames = {"Mary", "John", "Susan", "Michael", "David", "Lisa", "Wendy", "Diane", "Kelly", "Claire", "Elizabeth", "Mitchell", "Richard"}; public static void main(String[] args) { // create an empty list List<Student> studentList = new ArrayList<Student>(); // initialize random generator Random random = new Random(); // create random number of students NameandAge(studentList, random); //print out the students printf(studentList); } private static void printf(List<Student> studentList) { for (Student temp : studentList) { System.out.println(temp); } } private static void NameandAge(List<Student> studentList, Random random) { for (int i=0; i < 3; i++) { // get random first name String tempFirstName = firstNames[random.nextInt(firstNames.length)]; // get random last name String tempLastName = lastNames[random.nextInt(lastNames.length)]; // get random age int age = 18 + random.nextInt(20); // create student Student tempStudent = new Student(tempLastName, tempFirstName, age); // add them to the list studentList.add(tempStudent); } } }
第3题:观看视频The Expert (Short Comedy Sketch)后的感悟:
看了The Expert (Short Comedy Sketch)这个视频以后,我说一下这个视频主要讲的内容:就是一家公司(用户)请了一个软件开发员开发软件,客户的第一个要求是用蓝色墨水划出红线,开发员认为这个不可能实现,因为蓝色墨水只能画蓝线,但是设计师却说,你是专家,你能做到的。第二个要求是画七条相互垂直的直线,开发员也认为这不可能,然后设计师又说你是专家,怎么会做不到呢。第三个要求是画一条像小猫的线,开发员还说这个不可能画出来,这是设计师生气了,说“你怎么什么都做不到,你还是专家吗?一句,做还是不做?”然后大家大家都走了,就剩下开发员在那儿,最后说画像小猫的线的客户返回来问开发员:“你能吹一直像小猫的气球嘛?”这是开发员说:“能,我是专家,我什么都能”。
我的感悟:首先,其实从我们正常人的思维来看,客户提出的几个要求都是很难实现的,而且甚至是不可能做到,这就使得开发员都不了解用户的需求。其次,用户和设计师他们不是做软件开发这一块的,他们根本就不知道作为一个开发员如果不明却用户的需求是很难开发出软件的,所以他们应该听取软件开发员的意见,好好交流,而不是什么都一句“你是专家,你能做到的”。最后,作为一个软件开发员,不能什么都说做不了,拿到用户的需求的时候,认真考虑,然后再做回答,如果真的做不到,就说自己做不到,不能听自己老板话,盲目跟从,搞得最后都随着老板们的想法:是专家就什么都会。
第4题第1小问:
(1)导包:
(2)代码:
(3)结果截图: