字符串包含字符问题?很简单,但是就是有问题

问题描述

我是为了设计多选题的答案,按照要求少选应该可以得一半的分数.如标准答案为BCD,以下是我的设计代码:'提取多选题答案(),并判分Dimc1AsCheckBox=NewCheckBox()Dimc2AsCheckBox=NewCheckBox()Dimc3AsCheckBox=NewCheckBox()Dimc4AsCheckBox=NewCheckBox()DimarrSTDD()AsStringDimanDDAsString=""DimarrDDAsArrayList=NewArrayList()DimarrDD2AsArrayList=NewArrayList()DimarrDBZAsArrayList=NewArrayList()Dimcj2AsInteger=0DimfsAsInteger=0DimcAsStringDimcwAsBooleanFori=0TorptQuestion2.Items.Count-1c1=rptQuestion2.Items(i).FindControl("checkbox1")c2=rptQuestion2.Items(i).FindControl("checkbox2")c3=rptQuestion2.Items(i).FindControl("checkbox3")c4=rptQuestion2.Items(i).FindControl("checkbox4")bzAn=rptQuestion2.Items(i).FindControl("lbAnswer")Ifc1.Checked=TrueThenanDD=c1.TextIfc2.Checked=TrueThenanDD=anDD+c2.TextIfc3.Checked=TrueThenanDD=anDD+c3.TextIfc4.Checked=TrueThenanDD=anDD+c4.TextanDD=anDD.TrimIfanDD=""ThenanDD="F"Response.Write(anDD)Response.Write(bzAn.Text)arrSTDD=anDD.Split()IfanDD.ToString=bzAn.TextThenfs=4ElseForEachcInarrSTDDIfInStr(bzAn.Text,c)>0Thenfs=2EndIfNextEndIfcj2=cj2+fsResponse.Write(fs)NextResponse.Write("<br/>")Response.Write("你的单选题得分:"&cj&"多选题得分:"&cj2)问题:如果学生作答的是BD却得不到2分.但是对于BC,CD却可以.我知道肯定是我的判分有问题.请问我的代码问题出在哪里?谢谢!很急!!

解决方案

解决方案二:
很想帮忙..可VB看不懂....帮你顶个..
解决方案三:
ifbcdthen4ifbdorcdorbdthen2
解决方案四:
按照要求少选应该可以得一半的分数.如标准答案为BCD,当选择bc,或bd,或cd时都可以得一半.如果选acd,或abd,等等,有错选时是否有分数?
解决方案五:
补充,错选,如acd,abd等不得分,错选的情况比较好写.主要是对于少选情况的判断.
解决方案六:
你这样当然有问题.ForEachcInarrSTDD你应该先割成字符吧,而不是字符串.不知道对不对,VB没用过
解决方案七:
VB,不懂....帮你顶。
解决方案八:
不会用vb.net,vb也好几年没用了,可能有错,楼主自己改下吧.DimResultStandardAsString:ResultStandard="BCD"'//标准答案DimResultCntAsInt'//答对的个数DimCanGradeCntAsInt'//半数标准DimResultErrorAsBool'//是否有错ResultError=falseResultCnt=0IfLen(ResultStandard)%2=0ThenCanGradeCnt=Len(ResultStandard)/2ElseCanGradeCnt=(Len(ResultStandard)+1)/2EndIfIfNotResultErrorANDc1.CheckedThenIfSubStr(ResultStand,c1.Text)>0ThenResultCnt=ResultCnt+1ElseResultError=trueEndIfEndIf'//其它4个类似IfResultCnt=Len(ResultStandard)Then'//给全分ElseIfResultCnt<Len(ResultStandard)ANDResultCnt>=CanGradeCntThen'//给半分Else'//不给分EndIf

解决方案九:
终于发现,原来可能是我犯了一个低级错误,因为bool型的默认是false,而我当给少选给2分时,没有给它true.因此最后还是0分.非常感谢以上各位的帮忙.
解决方案十:
真的是差之毫厘,谬以千里啊.小错误也很烦人啊.

时间: 2024-10-30 13:14:54

字符串包含字符问题?很简单,但是就是有问题的相关文章

SQL中字符串中包含字符的判断方法

在sql中我判断包含字符串我们可使用很多方法,如like,replace,charindex函数都可实现我们要的功能,下面我来给各位介绍判断字符串包含字符串sql语句. 通过2个函数CHARINDEX和PATINDEX以及通配符的灵活使用 函数:CHARINDEX和PATINDEX CHARINDEX:查某字符(串)是否包含在其他字符串中,返回字符串中指定表达式的起始位置. PATINDEX:查某字符(串)是否包含在其他字符串中,返回指定表达式中某模式第一次出现的起始位置:如果在全部有效的文本和

java 字符串相减(很简单的一个方法)

本篇文章是对java中关于字符串相减的一个简单的方法进行了介绍,需要的朋友参考下   有个比较简单的方法: 复制代码 代码如下: str1="abcd"; str2="cd"; str3=str1.replaceAll(str2,""); //str3="ab"

再谈Python中的字符串与字符编码(推荐)_python

本节内容: 1.前言 2.相关概念 3.Python中的默认编码 4.Python2与Python3中对字符串的支持 5.字符编码转换 一.前言 Python中的字符编码是个老生常谈的话题,同行们都写过很多这方面的文章.有的人云亦云,也有的写得很深入.近日看到某知名培训机构的教学视频中再次谈及此问题,讲解的还是不尽人意,所以才想写这篇文字.一方面,梳理一下相关知识,另一方面,希望给其他人些许帮助. Python2的 默认编码 是ASCII,不能识别中文字符,需要显式指定字符编码:Python3的

创建代码生成器可以很简单:如何通过T4模板生成代码?[上篇]

在<基于T4的代码生成方式>中,我对T4模板的组成结构.语法,以及T4引擎的工作原理进行了大体的介绍,并且编写了一个T4模板实现了如何将一个XML转变成C#代码.为了让由此需求的读者对T4有更深的了解,我们通过T4来做一些更加实际的事情--SQL Generator.在这里,我们可以通过SQL Generator为某个数据表自动生成进行插入.修改和删除的存储过程.[文中源代码从这里下载] 一.代码生成器的最终使用效果 我们首先来看看通过直接适用我们基于T4的SQL生成模板达到的效果.右图(点击

Swift语言指南(十)--字符串与字符

原文:Swift语言指南(十)--字符串与字符 字符串是一段字符的有序集合,如"hellow,world"或"信天翁".Swift 中的字符串由 String 类型表示,对应着 Character 类型值的集合. Swift 中的 String 类型为你的编程提供了一个高速的,兼容 Unicode规范 的文本处理方式.Swift 创建和处理字符串的语法轻量可读,与 C 语言的字符串语法颇为相似.字符串的拼接非常简单,只需将两个字符串用 + 运算符相加.字符串的值是否

string-android,替换字符串中*字符

问题描述 android,替换字符串中*字符 有一个字符串变量,包含*.但是我需要替换其中所以的*字符. 我写的代码没有实现: text = text.replaceAll("*",""); text = text.replaceAll("*",null); 请大家帮忙解决,谢谢. 解决方案 用String#replace() 方法实现多简单,这个方法不会将regex当做参数. text = text.replace("*",

Swift教程之字符串和字符详解_Swift

一个字符串String就是一个字符序列,像"hello,world","albatross"这样的.Swift中的字符串是用String关键词来定义的,同时它也是一些字符的集合,用Character定义. Swift的String和Character类型为代码提供了一个快速的,兼容Unicode的字符解决方案.String类型的初始化和使用都是可读的,并且和C中的strings类似.同时String也可以通过使用+运算符来组合,使用字符串就像使用Swift中的其他基

Javascript中字符串与字符数组之间的转换示例

1.string to array js里的string和java中的一样,都是不可变的常量. 早期的ECMAScript标准将string解析为不可变的字符数组, 支持str[index]这样的访问方式. 直到今天firefox仍然支持, 但IE不行. 我知道两种可以将字符串转换为数组的方法. 第一种很容易想到:使用charAt. Javascript代码: function toArray(str){     if(typeof str !="string"){         r

一起谈.NET技术,创建代码生成器可以很简单:如何通过T4模板生成代码?[下篇]

在<上篇>中我们通过T4模板为我们指定的数据表成功生成了我们需要的用于添加.修改和删除操作的存储过程.但是这是一种基于单个文件的解决方案,即我们必须为每一个生成的存储过程建立一个模板.如果我们提供一种基于多文件的代码生成方式,将会为编程人员带来极大的便利.借助于T4 ToolBox这个开源工具箱,多文件的SQL Generator的实现变得异常简单. 一.多文件代码生成器会带来多大的便利? 我们先来直观的感受一下较之<上篇>提供的单一文件的代码生成器,基于多文件的代码生成解决方案会