gpt4 book ai didi

java - 如何保留不同类型的函数和参数

转载 作者:行者123 更新时间:2023-12-01 16:58:30 25 4
gpt4 key购买 nike

以下代码:

public static void main(String[] args) {
int retval=something(3,5);
System.out.println(retval);
}

public static float something(int first, int second){
return first+second;
}

...因编译错误而崩溃:

error: possible loss of precision
int retval=something(3,5);
^
required: int
found: float
1 error

为什么函数的 float 类型会影响参数的类型?

UPD。我不是问如何改进设计,而是问为什么我不能传递与函数返回类型不同的参数。

最佳答案

返回类型不影响参数的类型。错误的原因是尝试将 float 返回类型分配给 int 变量,如果没有显式强制转换,这是不可能的。

话虽这么说,对于接受两个 int 并返回它们的总和以返回 float 的方法来说没有什么意义。

将返回类型更改为 int :

public static int something(int first, int second){
return first+second;
}

或者将参数类型更改为 float :

public static float something(float first, float second) {
return first+second;
}

关于java - 如何保留不同类型的函数和参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29768758/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com