You need to enable JavaScript to run this app. 如何用Kotlin实现每3道错题扣1个正确分的得分计算功能?
优惠活动
大模型
产品
解决方案
定价
更多

如何用Kotlin实现每3道错题扣1个正确分的得分计算功能?

得分计算逻辑Kotlin实现方案

原有代码问题

你当前编写的代码存在两个核心逻辑错误:

  • 仅当错题数是3的整数倍时才会触发扣减,不符合「每累计3道就扣1分」的规则(比如错题数为4时也满足累计3道的扣减条件,原有逻辑不会触发扣减)
  • while循环会无限执行correctIndex--,只要wrongIndex%3==0成立就会一直扣减正确数,最终得到完全错误的负数结果

正确实现逻辑

核心计算规则:

  1. 每3道错题扣除1个正确题得分,扣除的总分数为错题总数除以3向下取整的结果
  2. 最终有效得分不能为负数,最低为0

代码实现

独立计算函数

/**
 * 计算有效正确题得分
 * @param originalCorrect 原始正确题数量
 * @param wrongCount 错题总数量
 * @return 最终有效得分,最低为0
 */
fun calculateNetCorrectScore(originalCorrect: Int, wrongCount: Int): Int {
    val deductScore = wrongCount / 3
    return (originalCorrect - deductScore).coerceAtLeast(0)
}

调用示例(更新到TextView)

// 替换为你实际存储的正确数、错题数变量
val finalScore = calculateNetCorrectScore(correctIndex, wrongIndex)
// 展示到TextView
yourTextView.text = "当前有效得分:$finalScore"

效果验证

用你给出的示例测试:错题数6、正确题数3

  • 扣除分数 = 6 /3 = 2
  • 最终得分 = 3 - 2 = 1,完全符合预期结果

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.15 02:06:06