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

不兼容的类型:从Double到int的可能有损转换。我不知道为什么会收到这条错误消息。

萧嘉茂
2023-03-14
    private void buildingComposotion () 

{
    for (int i=1; i<=randomInteger(3,6); i++)
    {
        int numberOfStories = 2;
        buildingFrame(numberOfStories);
        buildingWindows(numberOfStories);
    }
}
private int randomInteger(int min, int max) 
{
    min = (int) Math.ceil(min);
    max = (int) Math.floor(max);
    return Math.floor(Math.random() * (max - min));
}

错误“不兼容的类型:从Double到int的可能有损转换。”在第15行。

共有1个答案

顾跃
2023-03-14

数学地板返回双精度值,而不是整数。修改您的随机整数方法

private int randomInteger(int min, int max) 
{
    min = (int) Math.ceil(min);
    max = (int) Math.floor(max);
    return (int) Math.floor(Math.random() * (max - min));
}

或者,使用Random类中的nextInt

 类似资料: