当前位置: 首页 > 面试题库 >

我不能正确地将两个数相除

郑向阳
2023-03-14
问题内容
int percent = (score/numberOfQuestions)*100;
progressText.setText(score+"/"+numberOfQuestions+"  "+percent+"%");

不管我累什么都会返回0%。我尝试将其强制转换为int,double,float

为什么对于分数= 5 numberOfQuestions = 8这样的数字返回0%?


问题答案:

问题在于,将两个整数相除可得到结果的整数部分。因此, (score/numberOfQuestions)将始终为0。
您应该做的是

int percent = (score * 100 / numberOfQuestions);

然后*100将首先执行,然后除法将为您提供正确的结果。



 类似资料:
  • 该方法通过用户的输入获取给定数据集中的两个最大整数,并计算它们的乘积。它对每个输入都很有效,直到我尝试了两个整数和的数组,它返回。 这是我的Java方法: 这是我的方法:

  • 问题内容: 这个问题已经在这里有了答案 : 9年前关闭。 可能重复: 用Java中的Doubles保持精度 输出: 4.069999999999999 为什么输出那个。我以为会是4.07。请解释为什么在Java中会发生这种情况? 抱歉,标题标题不正确。 我再没有比这更好的头衔了 问题答案: 这是因为某些数字(例如0.1)无法用二进制浮点数精确表示。 考虑阅读以下文章: 每个计算机科学家都应了解的浮

  • 有人请解释一下。为什么下面的程序产生16个?

  • 问题内容: 我有两个 我如何轻松总结它们? 意思是对于字符串“ a”,键将是(来自Map1的值+来自Map2的值)的总和? 我可以迭代Map2的每个项目,然后手动将其添加到Map1。 但是认为可能会有更简单的方法吗? 我更喜欢将Integers汇总到其中一张地图中。不创建一个新的 问题答案: 由于Java 8 包含需要 键, 新价值, 和函数, 如果该值已经包含我们的密钥 ,它将用来决定要在地图中

  • 设置JAVA_OPTS=-xmx8192m-xms8192m-xmn4096m 我开始不一致地得到堆错误。 尝试_java_options

  • 这是我试图实现的:我有ActioBar,我有一个名为登录在ActionBar上的菜单项。当点击这个登录菜单项时,它会在动作栏中添加一个新选项卡,并在父活动的容器中加载带有login_layout的片段。如果我点击任何其他选项卡,登录选项卡就会消失。只有再次点击登录菜单项,它才能重新出现。一旦登录成功,我想将菜单项的标题更改为注销。现在,在将登录菜单项的标题设置为注销后,如果我点击它,它不应该在动作