一道有意思的机试题

请注意,本文编写于 3758 天前,最后修改于 246 天前,其中某些信息可能已经过时。

一道有意思的机试题





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





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





  第一个页面脚本代码:





  <%





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





  %>









  <%





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





  %>





  " name="stu" />





  <%





   out.print(stu[i] + "



");





  }





  %>













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





  第二个页面的脚本代码:





  <%





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



  %>





  <%





   request.setCharacterEncoding("gbk");





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





  %>









  <%





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





  %>





  " name="stu" />





  <%





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





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





  %>





  " name="course" />





  <%





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





   }





    out.print("



");





  }





  %>













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





  b、定义六门课程,输出





  第三个页面脚本代码





  <%





   request.setCharacterEncoding("gbk");





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





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





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





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





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





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





     }





           out.print("



");





        }





  %>





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





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





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





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

添加新评论