You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

VB井字棋游戏报“字符串“O”转Double类型无效”错误问题咨询

报错产生原因

错误出在胜负判断的代码行,数组元素比较的语法书写错误:
你写的Array(0, 0 = "O")会被VB判定为:先计算括号内的0 = "O"表达式结果,再把该结果作为数组的第二个索引参数取值。计算0 = "O"时,VB会尝试把字符串"O"转换为Double类型和数字0做等值判定,转换失败就抛出了你遇到的报错。

修复方法

把等值判断逻辑移到数组取值的括号外侧,修正后的胜负判断代码如下:

If Array(0, 0) = "O" And Array(0, 1) = "O" And Array(0, 2) = "O" Then
    MsgBox("Player A, you win!")
End If

其余行的同类判断逻辑也按照上述格式修正即可。

额外优化建议:InputBox返回的是字符串类型,直接赋值给整型变量i、j时,如果用户输入非数字内容也会触发类型转换报错,可以增加IsNumeric判断校验输入合法性后再做坐标赋值。

内容的提问来源于stack exchange,提问作者TomH

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 00:54:03