java - 跳水 double 时得到小数

标签 java formatting double

我编写这个方法是为了查找字符串中标记的平均长度。我很难从这个除法中得到小数(两个 double )。

public static double averageTokenLength (Scanner s)
{
    String word="";
    int words = 0;
    int length = 0;
    double average = 0;

while (s.hasNext())
{
    word = s.next();
    words++;
    length = length + word.length();    
    average = (length/ words);

}

return average;

教授给我的测试方法显示“预期;3.66666666666667,但是是3.0。我怎样才能让我的代码显示该结果?

最佳答案

尝试:

length * 1.0 / words

否则它会进行整数之间的除法,例如 7/3 得到 2,余数为 1。

关于java - 跳水 double 时得到小数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25859798/

相关文章:

ios - 最小正浮点值是多少?

java - apache drill如何查询HBase?

java - 如何从另一个 Activity 刷新 viewModel 实时数据

c# - 使用 C# 将格式从一行复制到另一行

c# - 如何格式化我的类(class)?使用 toString,在 GUI 中还是以其他方式?

c++ - 通过 C++ write 语句将文本加粗

c++ - 如何将字符串(包含双最大值)转换为 double

C++ double 不能等于两个 int 除法

java - Jackson/Scala 不可变案例类 : parsing a class depending on other value in JSON

java - 在 View 上绘制简单文本