当前位置: 首页 > 知识库问答 >
问题:

精度损失-->需要double但编译器需要int?

段志
2023-03-14

我是java初学者,遇到过这个错误。

public double pay(double x,int y){
    int sum=0;
    double hours=8.0;
    if(y>hours){
       sum=(y-hours)*(1.5*x) + (hours*x);

    }
   return sum;
}
You have a mismatch between data types. This often occurs when you try to store a real number (double) into a variable or parameter that is an integer (int).
possible loss of precision
found   : double
required: int
       sum=(y-hours)*(1.5*x) + (hours*x);
                             ^
1 error
19 warnings

但是错误指向了+号,这是怎么了?上面写着发现:双倍。但我希望我的输出是双倍。但它说作为必需的int。

共有1个答案

陆琦
2023-03-14

由于sumint,并且在you are方法中返回sum,因此会出现错误。

public double pay(double x,int y){
    double sum=0;
    double hours=8.0;
    if(y>hours){
       sum=(y-hours)*(1.5*x) + (hours*x);

    }
   return sum;
}

对于第二个错误,如果查看类Math,pi()不存在,则必须调用类Math的静态变量,因此应该是:

public double area(double x){
    x=Math.PI*Math.pow(x,2);
    return x;

}
 类似资料:
  • 我使用android Studio制作了一个静态编程语言MultiPlatform Mobile项目,导入SQLDelight后遇到以下错误: 我回答了这个问题,但他们提到的一切我都做对了。在一个文件一个文件地查看之后,我没有找到我在哪里声明了那个版本,于是我决定将我的项目与其中一个示例项目进行比较。 再次查看这些文件后,我发现我在我的应用程序等级中使用了SQLDelightVersion1.5.

  • 我尝试将xgboost4j与spark 2.0.1和Dataset API结合使用。到目前为止,我通过使用<代码>模型获得了以下格式的预测。转换(测试数据) 但是现在我想生成评估指标。如何将预测映射到正确的格式?DMLC在Spark-1.6.1上的XGBost-4j提出了一个类似的问题,但我无法让它为我工作。 而不是预测。选择(“预测”,“标签”),如下所示 尝试将其映射到所需的元组,例如: 也无

  • 本文向大家介绍什么是预编译,何时需要预编译:相关面试题,主要包含被问及什么是预编译,何时需要预编译:时的应答技巧和注意事项,需要的朋友参考一下 1、总是使用不经常改动的大型代码体。 2、程序由多个模块组成,所有模块都使用一组标准的包含文件和相同的编译选项。在这种情况下,可以将所有包含文件预编译为一个预编译头。

  • 问题陈述: 编写一个方法whatTime,它采用int,seconds,表示从某一天午夜开始的秒数,并返回一个格式为“:”的字符串。此处,表示自午夜以来的完整小时数,表示自上一完整小时结束以来的完整分钟数,以及自上一完整分钟结束以来的秒数。和中的每一个都应该是整数,没有额外的前导0。因此,如果秒为0,则应返回“0:0:0”,而如果秒为3661,则应返回“1:1:1” 我的算法: 以下是我的算法对输

  • 问题内容: 我有一个关于精度损失的问题 我的任务是将数字打印为字符串 例如0.2 * 7 = 1.4000000000000001; 0.0000014 / 10 = 1.3999999999999998E-7 如何解决这个问题? UPD :主要问题是 字符串 输出格式。我不担心丢失约0.00000001的值。现在,我将其解析为String.format(“%f”,value),但我认为这不是一个

  • [WARN][13:21:45.287]Findbugs需要编译源代码。请在执行声纳之前构建项目,或者检查编译类的位置,以便Findbugs分析您的项目。 我以前从未遇到过这个问题(在同一个项目中,但使用的是sonar的旧版本),所以我在Internet上搜索,发现我可能需要定义来将sonar指向编译的类。(在我的情况下,声纳在过去是自动解决这个问题的)。不过,我在中添加了以下属性: 但是,当看到