java - 为什么 value/100 返回 0?

标签 java math

<分区>

我有以下代码:

int aGrade=7;
int asteriskCount=((aGrade/100)*50);
System.out.print(asteriskCount);

for(int i=0; i<=asteriskCount; i++)
{
    System.out.print("*");
}

asteriskCount 的计算结果为零,因此代码仅打印一个星号,而不是我预期的四个。为什么?

最佳答案

这是由于整数除法。通过使用浮点值 100.0 而不是 100,除法是使用 float 执行的。

尝试

int asteriskCount = (int)((aGrade/100.0)*50);
                                  ^^^^^

关于java - 为什么 value/100 返回 0?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25469731/

相关文章:

java - 查询表达式中指示的分区键与 cosmos db 中的 feedoptions 中指示的分区键之间的差异

java - 使用hibernate显示数据库中的数据

algorithm - 猜一个数字只知道建议的数字是更低还是更高?

javascript - 根据 Angular 查找旋转图像的大小以匹配顶线

math - float 学有问题吗?

c++ - 为什么当我将 int 乘以 double 时会得到错误的值?

Java Camel RouteBuilder 在复制完成之前拾取文件

java - Java 猜谜游戏的问题

java - jcabi 没有登录文件

math - 为什么在 util Random 类中使用 48 位种子?