<分区>
我有以下代码:
int aGrade=7;
int asteriskCount=((aGrade/100)*50);
System.out.print(asteriskCount);
for(int i=0; i<=asteriskCount; i++)
{
System.out.print("*");
}
asteriskCount
的计算结果为零,因此代码仅打印一个星号,而不是我预期的四个。为什么?
<分区>
我有以下代码:
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/