这个问题在这里已有答案:
我正在编写一个程序来获得每个字母等级的百分比。最终输出应该是,
总成绩:...
A的数量:......:%
B的数量:......:%
等等直到F的。运行代码时,百分比的输出返回为零。我不太清楚为什么。我会帮助他们。谢谢大家!
下面是代码示例:
System . out . println ("Please enter a list of exam scores: " ) ;
System . out . println ("*Note* Enter a negative number after all scores have been entered." ) ;
do {
num = input . nextInt () ;
if ( num >= 90 && num <= 100 ) {
totalA ++;
} else if ( num >= 80 && num <= 89 ) {
totalB ++;
} else if ( num >= 70 && num <= 79 ) {
totalC ++;
} else if ( num >= 60 && num <= 69 ) {
totalD ++;
} else if ( num <= 59 && num >= 0 ) {
totalF ++;
}
if ( num >= 0 ) {
count ++;
}
}while ( num >= 0 ) ;
totalAP = Math . rint ((totalA / count ) * 100 ) ;
System . out .println ( totalAP ) ;
我现在只是计算A百分比。
如果totalA
和count
都是int
对象,并且count
大于totalA
,则totalA/count
的结果将是小数答案,例如。 0.65但是在int
中,小数被截断,返回0和0 * 100 = 0.使totalA
成为double
或将其转换为double,你应该得到正确的答案。