2016-05-08 135 views
-6

如何用Java计算重数字?用Java计算重数字

重十进制计数:如果十进制表示的数字的平均值超过7,则称其为非​​负整数。例如,数字是9688,它具有四位数字,即九,六,八,八9,6,8,8)。其数字的平均值是(9 + 6 + 8 + 8)/ 4 = 7.75。由于7.75的平均值大于7,所以我们可以说9688是一个很重要的数字。现在再举一个例子,假设给定的数字是41153.它有五个数字,即4,1,1,5,3。其数字的平均值是(4 + 1 + 1 + 5 + 3)/ 5 = 2.8。由于2.8的平均值小于7,所以我们可以说41153不是一个很重的数字。现在,它需要你写一个函数:heavyDeciCount(x,y)

输出应该是这样的,请帮助这个话题。

Sample Output 

Enter 1st integer: 9872 
Enter 2nd integer: 9884 
Number Average Is Heavy 
9872  6.50  No 
9873  6.75  No 
9874  7.00  No 
9875  7.25  Yes 
9876  7.50  Yes 
9877  7.75  Yes 
9878  8.00  Yes 
9879  8.25  Yes 
9880  6.25  No 
9881  6.50  No 
9882  6.75  No 
9883  7.00  No 
9884  7.25  Yes 
Total Heavy Count: 6 
+2

“它是从你需要编写一个函数” ..它看起来像是你在这里复制和粘贴你的作业。请向我们展示您的努力,并针对特定问题细化您的问题。 http://stackoverflow.com/help/mcve – trooper

+0

这里没有什么棘手的。它甚至不像他们关心可能的浮点精度限制问题。这项任务是完全简单的。这里没有什么突出的“难题”,所以很难说出你需要什么帮助。 – user2357112

+0

我需要它的Java解决方案 –

回答

0

的函数计算一个数值是否为重可能看起来像:
public boolean isHeavy(int number) {

String asString = "" + number; 

int sumOfDigits = 0; 
for(int i = 0; i <asString.length(); i++) { 
    sumOfDigits += Integer.parseInt(asString.charAt(i) + ""); 
} 

return (sumOfDigits/(double)asString.length()) > 7d; 

}