我尝试了重载代码的方法,但我得到了错误
找不到合适的添加方法(double,double)
代码:
class Adder {
static float add(float a, float b) {
return a + b;
}
static int add(int a, int b) {
return a + b;
}
}
class TestOverloading1 {
public static void main(String[] args){
System.out.println(Adder.add(11.5, 11.5));
System.out.println(Adder.add(27, 21));
}
}
根据定义,没有任何后缀的浮点文字(例如11.5
)属于double
类型(类似地,没有任何后缀的整数文字属于int
类型)。
对于接受float
参数的方法来说,double
参数是不可接受的(因为从double
转换到float
可能会导致数据丢失,因此编译器不会自动执行这种转换)。
另一方面,11.5F
是float
文本,因此可以将此类文本传递给add(float a,float b)
方法。
和是的一部分,如下所示:
我一直在运行此代码并不断收到错误,不知道为什么。双倍漂浮?继续收到消息“错误:不兼容的类型:可能的有损转换从双精度到浮点型。转换如何转换是否有任何问题,因此没有错误 这是较大代码的一部分。
我一直试图编译这个简单的警报对话框,以便在用户单击提交按钮时显示。编译代码时会弹出一条错误消息: 错误:(33,74)错误:不兼容的类型: 这个类叫做Login_Activity,它扩展了BaseActivity,它扩展了Activity。
问题内容: 人们总是被告知永远不要用或类型代表金钱,这一次我向您提出一个问题:为什么? 我敢肯定有一个很好的理由,我根本不知道这是什么。 问题答案: 因为浮点数和双精度数不能准确表示我们用于赚钱的基数10的倍数。这个问题不仅仅针对Java,而且还针对任何使用base 2浮点类型的编程语言。 在基数10中,您可以将10.25编写为1025 * 10 -2(整数乘以10的幂)。IEEE-754浮点数是
嗨,我正在制作一个程序,该程序应该采用字母等级并将其转换为 GPA 值。程序的第一部分取了一个百分比并将其转换为字母等级,现在我正在尝试将转换后的字母等级转换为 int 值。我们只允许使用开关盒。但是,在执行此操作时,我发现一个不兼容的类型错误:java.lang.String required: int。不确定我需要更改什么,有什么帮助吗? 谢谢。
我能得到帮助吗?我是Java的新手,不知道如何用上一个LWL修复这个错误。 不兼容类型:字符串不能转换为double