gpt4 book ai didi

java - Android 应用 Toast 混淆

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:43:41 24 4
gpt4 key购买 nike

我的应用程序是一个测验应用程序,其中有一个部分会在用户回答完所有问题后吐出一定比例的问题作为 toast 。

toast 出现了,但百分比总是显示为 0。

我前面有一些日志消息:

        Log.i("MainActivity", "Amount i got right "+Integer.toString(right));
Log.i("MainActivity", "total is "+Integer.toString(total));

Toast.makeText(this, "You answered " + (right/total)*100 + "% of questions correct", Toast.LENGTH_SHORT).show();

在日志中它说“我/MainActivity:我正确的数量 4 总共是 6"

为什么 toast 百分比会变成 0??

函数如下:

    int i = 0;
int total = mQuestionBank.length;
check = true;
right = 0;
while (i<total && check){
if(mQuestionBank[i].isAlreadyAnswered()){
if(mQuestionBank[i].isAnswerTrue()){
right+=1;
check = true;
}

}else{
check = false;
}
i++;
}

if(check) {
double percent = (right / total) * 100;
Log.i("MainActivity", "Amount i got right "+Integer.toString(right));
Log.i("MainActivity", "total is "+Integer.toString(total));

Toast.makeText(this, "You answered " + (right/total)*100 + "% of questions correct", Toast.LENGTH_SHORT).show();
}else {
int question = mQuestionBank[mCurrentIndex].getTextResId();
mQuestionTextView.setText(question);
mTrueButton.setEnabled(!mQuestionBank[mCurrentIndex].isAlreadyAnswered());
mFalseButton.setEnabled(!mQuestionBank[mCurrentIndex].isAlreadyAnswered());
}

toast 说“你回答了 0% 的问题”

最佳答案

代码没问题。你只需要一个简单的修改。试试这个:

double percent = (right*100)/total ;

或者,

double percent = ((double)right/total)*100 ;

希望这会奏效。


更新:

为什么您的代码不起作用?

right = 5total = 10 为例。由于变量 right 和 true 是整数,因此 right/total 将始终为 0 零,因为它们将返回一个整数值,并且 . 之后的值不被视为 integer value 。要解决此问题,您可以将 right 和 total 作为 double 变量或将 right 转换为 double 。和第一个解释公式。 ***因为 right*100 = 500(right*100)/total = 500/10 = 50

关于java - Android 应用 Toast 混淆,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51202887/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com