题目:
1、请运行下面code,指出其功能;(需附运行结果截图,并用简短文字描述其功能)
2、请将该code进行代码重构,使之模块化,并易于阅读和维护;
小提示: 请模仿课堂上的示例,可采用手动重构,或使用eclipse提供的重构工具进行,
3、观看视频The Expert (Short Comedy Sketch),写出观后感(内容是什么,说明了什么问题,有什么启示),提交到博客!
4、学习在项目中使用 jar 文件:
(1)在下列code中导入jar文件“commons-lang3-3.3.2.jar”,并运行,将运行结果截图提交到博客:
答:1、功能:随机获取已知列表里的三个名和三个姓,然后在随机地生成18到38之间的一个整数作为年龄。
运行的效果截图:
Bradley, Lisa, 28
Brown, David, 28
Thompson, Claire, 19
2.请将该code进行代码重构,使之模块化,并易于阅读和维护;
进行代码重构后的代码如下:
import java.util.ArrayList; import java.util.List; import java.util.Random; public class Driver { private static final int MAX_STUDENTS = 3; 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 creatRandomStudent(studentList, random); printStudent(studentList); } private static void printStudent(List<Student> studentList) { // print out the students for (Student temp : studentList) { System.out.println(temp); } } private static void creatRandomStudent(List<Student> studentList, Random random) { for (int i = 0; i < MAX_STUDENTS; i++) { // get random first name int firstNameIndex = random.nextInt(firstNames.length); String tempFirstName = firstNames[firstNameIndex]; // get random last name int lastNameIndex = random.nextInt(lastNames.length); String tempLastName = lastNames[lastNameIndex]; // 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)后的观后感:
这个视频主要讲的是一个公司要做一个新产品,对新产品的要求是:画七根红线,一些用绿色墨水画,一些用透明墨水画,这七根线要两两垂直。在整个团队的交流中,开发人员认为用户的需求不可能达到的。但是项目经理认为开发人员就是专家!所以用户的任何需求都是可以完成的。
启示:看完这个视频后,我觉得这就是一个需求分析。即就是开发人员通过与用户的交流,获取到用户想要达到的要求。我觉得针对用户来说,应该要向开发人员表达清楚自己的需求,想要一个什么样的结果,让开发者充分地获取到有用的信息,最大限度地达到客户的要求。还有就是明明是不可能完成的,为什么总是强调你是“专家”就一定能做到呢。这个我就真的看不懂了。
4、学习在项目中使用 jar 文件:
(1)在下列code中导入jar文件“commons-lang3-3.3.2.jar”,并运行,将运行结果截图提交到博客:
首先,先下载commons-lang3-3.3.2.jar,然后将其粘贴到自己所创建的Java project下,最后在把commons-lang3-3.3.2.jar导入。
运行效果如下:
Running...
Time is:3000 millis
Finished...