Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Processing 无法从浮点转换为int处理/Java_Processing - Fatal编程技术网

Processing 无法从浮点转换为int处理/Java

Processing 无法从浮点转换为int处理/Java,processing,Processing,我这里有一些代码: int mutate(浮点x){ if(随机(1)

我这里有一些代码:

int mutate(浮点x){
if(随机(1)<.1){
浮点偏移=随机高斯()/2;
浮动纽x=x+偏移;
返回newx;
}否则{
返回x;
}
}
这段代码在返回值的两个示例上都给出了一个错误,该值表示“类型不匹配:无法从float转换为int”。我的代码怎么了


提前感谢。

您需要将返回类型更改为float,以便返回十进制值(如果您感兴趣):

float mutate(float x){
if(随机(1)<.1){
浮点偏移=随机高斯()/2;
浮动newx=x+偏移量;
返回newx;
}否则{
返回x;
}
}

您需要将返回类型更改为float以返回十进制值(如果您感兴趣):

float mutate(float x){
if(随机(1)<.1){
浮点偏移=随机高斯()/2;
浮动newx=x+偏移量;
返回newx;
}否则{
返回x;
}
}

首先,记住
int
float
是什么:

  • int
    只能保存不带小数点的整数,如
    1
    42
    -54321
  • float
    可以保存带小数点的数字,如
    0.25
    1.9999
    -543.21
因此,您需要弄清楚您想要从函数返回什么:它应该是
int
还是
float
值?如果它应该是一个
float
值,那么您只需将函数的返回类型更改为
float
。如果您希望它返回一个
int
值,那么您必须重新考虑函数内部的逻辑,以便它使用
int


请注意,您可以使用
int()
函数将
float
转换为
int
。更多信息可以在中找到。

首先,记住
int
float
是什么:

  • int
    只能保存不带小数点的整数,如
    1
    42
    -54321
  • float
    可以保存带小数点的数字,如
    0.25
    1.9999
    -543.21
因此,您需要弄清楚您想要从函数返回什么:它应该是
int
还是
float
值?如果它应该是一个
float
值,那么您只需将函数的返回类型更改为
float
。如果您希望它返回一个
int
值,那么您必须重新考虑函数内部的逻辑,以便它使用
int


请注意,您可以使用
int()
函数将
float
转换为
int
。更多信息可以在中找到。

你应该养成研究问题的习惯。谷歌搜索你的错误信息会给你一大堆解释发生了什么的结果。你应该养成研究问题的习惯。谷歌搜索你的错误信息会给你一大堆解释发生了什么的结果。
float mutate(float x){
    if (random(1) < .1){
        float offset = randomGaussian()/2;
        float newx = x + offset;
        return newx;
    } else {
        return x; 
    }
}