已关闭。此问题需要超过focused。当前不接受答案。
**想要改进此问题吗?**更新此问题,使其仅关注editing this post的一个问题。
3小时前关门了。
这篇文章是编辑和提交审查3小时前。
Improve this question
我正在做一个项目,输入你的当前成绩、成绩目标和期末权重,你会得到你需要在期末考试中得到的分数。我对正确的数学计算出你需要在期末考试中得到什么才能得到你想要的分数有疑问。
`var goal by remember { mutableStateOf( "") }
var currentGrade by remember { mutableStateOf( "") }
var finalWeight by remember { mutableStateOf( "") }
var finalGradeNeeded by remember { mutableStateOf("") }
if (goal.isNotEmpty() && currentGrade.isNotEmpty() && finalWeight.isNotEmpty()) {
if (finalWeight.toInt() == 0) {
finalGradeNeeded = "Error: Cannot divide by zero"
} else {
finalGradeNeeded = ((goal.toDouble() - ((100 - finalWeight.toDouble()) * (currentGrade.toDouble() / (finalWeight.toDouble() / 100))))).toString()
}
}
Text(
text = "Your final grade needs to be: $finalGradeNeeded%",
fontWeight = FontWeight.Bold,
f`ontSize = 15.sp
)
当我输入当前分数为50,班级目标为50,最终权重为50时,我期望它是50,但输出是-4950.0%。
1条答案
按热度按时间yeotifhr1#
简单加权放坡的工作方式如下:
圆括号在那里只是为了更容易地看到独立的组成部分,你实际上不需要它们。
所以我们需要在方程的左边得到
finalGrade
变量,在方程的右边得到其他变量;x一个一个一个一个x一个一个二个x
此外,与代码中的操作一样,假设权重采用十进制表示法,则本例中的
currentWeight
等于1 - finalWeight
,因此finalGrade
的最终公式为:从这里开始,您应该能够在代码中实现这个公式。
还有一种边缘情况,即达到所需
weightedGrade
所需的finalGrade
大于100,在这种情况下,您可能需要警告用户。