一道有意思的机试题

共计 1644 个字符,预计需要花费 5 分钟才能阅读完成。

一道有意思的机试题



有四个学生、六门课程,要求使用三个页面,第一个页面出现四个学生的选择,选择了学生后,到第二个页面出现选择了学生的列表,每个学生后面都有六门课程供学生选择,选好课程后,到第三个页面出现选择了的学生和对应的课程列表。



乍一看很简单的一道题,不过我也用了一个小时左右的时间,最快的一个!题不难,要求也简单,无论什么使用技术,出现效果就行,可就是不会啊!现在不是接触的 mvc 就是 servlet,所有的数据来源基本就是数据库,想问题想复杂了,我使用的办法是最古老的 jsp 页面脚本,在 jsp 页面定义数组来做的。



第一个页面脚本代码:



<%



&nbsp; String[] stu = new String[] {" 张三 ", " 李四 ", " 王五 ", " 赵六 "};



%>







<%



&nbsp;for (int i = 0; i < stu.length; i++) {



%>



" name="stu" />



<%



&nbsp; out.print(stu[i] + "

");



}



%>











说明:a、就定义了四名学生,把学生输出



第二个页面的脚本代码:



<%



&nbsp; String[] course = new String[] {" 数学 ", " 英语 ", " 物理 ", " 地理 ", " 哲学 ", " 美术 "};

%>



<%



&nbsp; request.setCharacterEncoding("gbk");



&nbsp; String[] stus = request.getParameterValues("stu");



%>







<%



&nbsp; for (int i = 0; i < stus.length; i++) {



%>



" name="stu" />



<%



&nbsp; out.print(stus[i] + "");



&nbsp;&nbsp; for (int m = 0; m < course.length; m++) {



%>



" name="course" />



<%



&nbsp;&nbsp; out.print(course[m] + " ");



&nbsp; }



&nbsp;&nbsp; out.print("

");



}



%>











说明:a、接受第一个页面已选择了的学生参数,输出,并使用隐藏域,为第三个页面学生的输出做铺垫



b、定义六门课程,输出



第三个页面脚本代码



<%



&nbsp; request.setCharacterEncoding("gbk");



&nbsp; String[] stu = request.getParameterValues("stu");



&nbsp; for (int m = 0; m < stu.length; m++) {



&nbsp;&nbsp; String[] course = request.getParameterValues("course" + m);



&nbsp;&nbsp; out.print(stu[m] + " ");



&nbsp; &nbsp;&nbsp;for (int n = 0; n < course.length; n++) {



&nbsp;&nbsp;&nbsp; out.print(course[n] + " ");



&nbsp; &nbsp;&nbsp;}



&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; out.print("

");



&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }



%>



说明:a、接受学生参数和对应的选课参数,输出



思路很简单,使用数组,定义一个数组,专门用于保存需要选课的学生,与之对应,再定义数组用来保存选课数据。与之对应的意思是,比如我们有一个学生需要选课,那么就定义一个选课数组,有两个学生,那就定义两个,依此类推。



其实这个满足二维数组,可以使用二维数组来处理,不过当时我只想着作出结果,二维有点负责,就用一维数组了!



面对问题,用某种适合办法解决就行!

正文完
 
zhaopeng
版权声明:本站原创文章,由 zhaopeng 2009-03-12发表,共计1644字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
评论(没有评论)