Java Math.random()关注

MrS*_*ent -2 java math coordinates

所以我有一个700x700的屏幕,我想创建一个物体(一个小行星)从屏幕左侧移动到右侧.一旦它离开屏幕,我希望它随机产生Y ana做同样的事情.到目前为止,我创建的对象以随机Y生成并向右移动,但是,在0:100像素和600:700像素之间,我有对象,我不希望我的对象产生并穿过这些对象.我希望随机Y介于101和599之间.

if (centerX > width + 200) {
                isTravelling = false;
                centerX = -200;
                centerY = (int)(Math.random());
            }
Run Code Online (Sandbox Code Playgroud)

ljg*_*jgw 5

尝试

import java.util.Random;

public class YourClass {
    Random rnd = new Random();
    // insert variable declarations here...

    public void yourMethod() {
        if (centerX > width + 200) {
            isTravelling = false;
            centerX = -200;
            centerY = rnd.nextInt(499) + 101;
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

  • 每次需要随机整数时创建一个新的Random对象是一种不好的做法,而是创建一次随机对象并重复使用它. (3认同)