首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Web开发 >

上面是JAVA WEB中,学生在线考试(action)的代码,有几个不明白,帮忙解释一上

2012-12-14 
下面是JAVA WEB中,学生在线考试(action)的代码,有几个不明白,帮忙解释一下?public class TestpaperAction

下面是JAVA WEB中,学生在线考试(action)的代码,有几个不明白,帮忙解释一下?
public class TestpaperAction extends Action {

public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {

TestpaperDAO dao = new TestpaperDAO();
Testpaper testpaper = new Testpaper();
String id = request.getParameter("testsetId");
Testset testset = (Testset)dao.getSession().load(Testset.class, Long.valueOf(id));
testpaper.setTestset(testset);
Student student = (Student)request.getSession().getAttribute("user");
testpaper.setStudent(student);
int count1 = 0;
int count2 = 0;
int count3 = 0;
int count5 = 0;
List list = new ArrayList();
List alist = new ArrayList();
Enumeration paramNames = request.getParameterNames();
while(paramNames.hasMoreElements())
{
Answers1 answers1 = new Answers1();
  String paramName = (String)paramNames.nextElement();
  String str = paramName.substring(0, 7);
                     //单项选择题页面
  if(!paramName.equals("testsetId")&&str.equals("xanswer"))
  {
  String[] paramValues = request.getParameterValues(paramName);
  String[] index = paramName.split("_");
  Question1 question1 = (Question1)dao.getSession().load(Question1.class, Long.valueOf(index[1]));
  String isRight = "0";
  if(question1.getResult().equals(paramValues[0]))
  {
  count1 += Integer.parseInt(testset.getMark1().toString());
  isRight = "1";
  }
  else
  isRight = "0";
  
  answers1.setQid(Long.valueOf(index[1]));
  answers1.setType("1");
  answers1.setAnswer(paramValues[0]);
  answers1.setIsRight(isRight);
  alist.add(answers1);
  }

//接下来是多项选择题,是非题,填空题,简答题,页面的代码跟上面的差不多,在此不列举了
//String str = paramName.substring(0, 7);
这句话,截取字符串0到7给str有什么用?
//String[] index = paramName.split("_");
为什么要用-分割paramname参数,有什么用
//Question1 question1 = (Question1)dao.getSession().load(Question1.class, Long.valueOf(index[1]));
这句话中参数index[1]里面的值为1表示什么,
//answers1.setQid(Long.valueOf(index[1]));
还有这句话中index[1]));
里面的1又表示什么
[最优解释]

//String str = paramName.substring(0, 7);
这句话,截取字符串0到7给str有什么用?---》》》意思 是前台传进来的paramName 可能 是0_1_2_3_456789
0123456789.substring(0, 7) =  0_1_2_3_ 
//String[] index = paramName.split("_");
为什么要用-分割paramname参数,有什么用paramName.split("_") =new String[]{"0","1","2","3"};
//Question1 question1 = (Question1)dao.getSession().load(Question1.class, Long.valueOf(index[1]));查出ID 为1的Question1
index[1]   = "1"
 Long.valueOf("1")= 1L;转换成 Long 数据好存入数据库 对应 BIGDICEMAL 数据 
意思 是 from Question1  where id = '1'   查出ID 为1的Question1


这句话中参数index[1]里面的值为1表示什么,
//answers1.setQid(Long.valueOf(index[1]));index[1]   


还有这句话中index[1]));
里面的1又表示什么 
是上面 数组中的1 数组的下标是从0开始 index[1] 找到 index数组 下标为1的值 就是1
[其他解释]
//String str = paramName.substring(0, 7);
这句话,截取字符串0到7给str有什么用?---》》》意思 是前台传进来的paramName 可能 是0_1_2_3_456789
0123456789.substring(0, 7) =  0_1_2_3_ 
//String[] index = paramName.split("_");
为什么要用-分割paramname参数,有什么用paramName.split("_") =new String[]{"0","1","2","3"};
//Question1 question1 = (Question1)dao.getSession().load(Question1.class, Long.valueOf(index[1]));查出ID 为1的Question1
index[1]   = "1"
 Long.valueOf("1")= 1L;转换成 Long 数据好存入数据库 对应 BIGDICEMAL 数据 
意思 是 from Question1  where id = '1'   查出ID 为1的Question1


这句话中参数index[1]里面的值为1表示什么,
//answers1.setQid(Long.valueOf(index[1]));index[1]   
还有这句话中index[1]));
里面的1又表示什么 
是上面 数组中的1 数组的下标是从0开始 index[1] 找到 index数组 下标为1的值 就是1
[其他解释]
求高手帮忙,详细说说,谢谢
[其他解释]
楼上正解..
[其他解释]
String paramName = (String)paramNames.nextElement();
   String str = paramName.substring(0, 7);
                     //单项选择题页面
   if(!paramName.equals("testsetId")&&str.equals("xanswer"))
我总感觉这里if判断永远为true。paramName.substring(0, 7)是返回一个截取后的新字符串,而paramName并不会改变。所以这个判断条件paramName.equals("testsetId")&&str.equals("xanswer")永远不成立。
[其他解释]
运算符优先级搞错了
[其他解释]
还是不明白,求高手解释,谢谢
[其他解释]
哥解释 成这样你还是不 明白 你基础也太差了 吧  你大学读的什么专业,如果实在 看不懂觉得你要回去把 java好好的学一学,这很简单的,入门级别中的入门。
[其他解释]

引用:
哥解释 成这样你还是不 明白 你基础也太差了 吧  你大学读的什么专业,如果实在 看不懂觉得你要回去把 java好好的学一学,这很简单的,入门级别中的入门。


我是基础差了点,但你能不能表达明白点
“String str = paramName.substring(0, 7);
这句话,截取字符串0到7给str有什么用?---》》》意思 是前台传进来的paramName 可能 是0_1_2_3_456789
0123456789.substring(0, 7) =  0_1_2_3_ 
”到底在说什么呀,哪里来的“-”这个分隔符,

//String[] index = paramName.split("_");
为什么要用-分割paramname参数,有什么用paramName.split("_") =new String[]{"0","1","2","3"};
这句解释又是什么意思?
[其他解释]
引用:
//String str = paramName.substring(0, 7);
这句话,截取字符串0到7给str有什么用?---》》》意思 是前台传进来的paramName 可能 是0_1_2_3_456789
0123456789.substring(0, 7) =  0_1_2_3_ 
//String[] index = paramName.split("_");
为什么要用-分……

0123456789.substring(0, 7) =  0_1_2_3_   。这句应该多了个_吧?substring包括0但是不包括7是把?
[其他解释]
引用:
//String str = paramName.substring(0, 7);
这句话,截取字符串0到7给str有什么用?---》》》意思 是前台传进来的paramName 可能 是0_1_2_3_456789
0123456789.substring(0, 7) =  0_1_2_3_ 


//String[] index = paramName.split("_");
为什么要用-分……


+1
[其他解释]
引用:
引用:
//String str = paramName.substring(0, 7);
这句话,截取字符串0到7给str有什么用?---》》》意思 是前台传进来的paramName 可能 是0_1_2_3_456789
0123456789.substring(0, 7) =  0_1_2_3_ 
//String[] index = paramNam……


+2

热点排行