标签:
首先来看一下String类的indexOf()方法的用法:
1 public class FirstDemo1 { 2 /** 3 *API中String的常用方法 4 */ 5 // 查找指定字符串是否存在 6 public static void main(String[] args) { 7 String str1 = "abcdefghijklmnabc"; 8 // 从头开始查找是否存在指定的字符 9 System.out.println(str1.indexOf("c")); 10 // 从第四个字符位置开始往后继续查找 11 System.out.println(str1.indexOf("c", 3)); 12 //若指定字符串中没有该字符则系统返回-1 13 System.out.println(str1.indexOf("x")); 14 } 15 }
程序运行结果:
对于一个多选题,假设有A,B,C,D四个选项,正确答案是 "ABC",
首先,用getParameterValues()方法接收复选框的值,是一个数组: String t3[]=request.getParameterValues("checkbox1");
然后,用Arrays.toString(String)把这个数组转化成一个字符串: String a3=Arrays.toString(t3);
接下来就可以做判断了:
1.全选对的话,字符串 "C" 一定在答案字符串的第三位
2.多选或错选的话,字符串 "D" 一定会出现在答案字符串中
3.不选的话,答案字符串为空
4.除去以上情况,剩下的是对而不全的情况
判断代码如下:
1 String t3[]=request.getParameterValues("checkbox1"); 2 String a3=Arrays.toString(t3); 3 4 if(t3!=null){ 5 //多选,正确答案ABC 6 if(t3.length==4 || t3.length==0 ||a3.indexOf("D")!=-1){ //多选或不选或错选 7 score=score+0; 8 } 9 else if(a3.indexOf("C")==3){ //全对 10 score=score+60; 11 } 12 else{ 13 score=score+30; 14 } 15 } 16 else{ 17 score=score+0; 18 }
貌似用switch(case)方法也可以实现,不过代码复杂了些。
Servlet 中为多项选择题判分---String类的indexOf()方法妙用
标签:
原文地址:http://www.cnblogs.com/yangyi9343/p/4893487.html