【问题标题】:Heavy numbers calculation in JavaJava中的重数计算
【发布时间】:2016-09-03 08:13:01
【问题描述】:

如何在 Java 中计算重数?

Heavy Decimal Count:一个非负整数如果其十进制表示的位数的平均值超过 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

【问题讨论】:

  • “你需要写一个函数” ..看起来你只是在这里复制和粘贴你的作业。请向我们展示您的努力并将您的问题细化为特定问题。 stackoverflow.com/help/mcve
  • 这里没有什么棘手的。看起来他们甚至不关心可能的浮点精度限制问题。这项任务非常简单。这里没有什么突出的“困难部分”,所以很难说出你需要帮助的地方。
  • 我需要它的 Java 解决方案
  • 请帮帮我。我完全困惑并坚持如何解决它。我需要一个完整的解决方案
  • 我只需要 Idea 解决方案。我想自己解决

标签: java decimal


【解决方案1】:

计算一个数字是否重的函数可能类似于:
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;

}

【讨论】:

    猜你喜欢
    • 2014-01-17
    • 1970-01-01
    • 1970-01-01
    • 2014-09-18
    • 2014-07-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多