Java J2ME错误-Random类型中的方法nextInt()不适用于参数(int)
我刚开始学习J2ME,从一开始我就在使用Random类时遇到了这个错误。阿格,这太令人沮丧了。以前有人遇到过同样的问题吗?我已经尝试重新启动Eclipse,只为随机生成器编写代码来隔离它,但没有成功。Java J2ME错误-Random类型中的方法nextInt()不适用于参数(int),java,java-me,random,Java,Java Me,Random,我刚开始学习J2ME,从一开始我就在使用Random类时遇到了这个错误。阿格,这太令人沮丧了。以前有人遇到过同样的问题吗?我已经尝试重新启动Eclipse,只为随机生成器编写代码来隔离它,但没有成功。 顺便说一下,我使用的是CLDC 1.1和MIDP2.1。似乎您指出了错误的CLDC和MIDP库。存在于CLDC 1.1中 如果您使用的是CLDC 1.0,您可以创建自己的nextInt(int)实现: 公共静态int-random(随机r,int-n){ 如果((n&-n)==n)//即,n是2的
顺便说一下,我使用的是CLDC 1.1和MIDP2.1。似乎您指出了错误的CLDC和MIDP库。存在于CLDC 1.1中 如果您使用的是CLDC 1.0,您可以创建自己的nextInt(int)实现:
公共静态int-random(随机r,int-n){
如果((n&-n)==n)//即,n是2的幂
返回(int)((n*(long)r.nextInt())>>31);
int位,val;
做{
位=r.nextInt();
val=位%n;
}而(位-val+(n-1)<0);
返回val;
}
(与CLDC 1.1中的nextInt(int)实现相同。)- nextInt(int)仅在CLDC 1.1之后可用,因此必须指定CLDC 1.1而不是1.0
- 如果您指定了CLDC1.1,仍然会得到这个错误,那么很可能是eclipse的错误。我花了几个小时才找到: 在Eclipse中,转到Windows->Preferences->JavaME->Device Management->选择默认设备->编辑->库->在那里您必须删除cldc_1.0.jar
- 右键单击项目,转到属性
- 转到构建中的库和资源
- 添加库
- 用于CLDC11的JMUnit的滚动条
- 单击“确定”
建造。所有问题都解决了李>
我刚离开JMUnit去CLDC11。我不确定我是否需要它。一旦我弥补了损失的时间,也许我会在没有它的情况下进行测试。我肯定我指定了CLDC 1.1,但我打赌你一定是意外指定了CLDC 1.0,因为缺少了
方法。Yepp@aioobe,我知道,一定是它。。。但很明显他已经检查过了?!我建议他反复检查。这是唯一合理的解释。嗯…让我尝试用CLDL 1.1创建新项目。我希望这不是Eclipse问题。请复制一段代码和完整的错误消息,好吗?我得到了类似int R=random.nextInt(256)的所有行的错误,其中random作为静态随机生成器。我得到的错误是:Random类型中的nextInt()方法不适用于参数(int)Random.nextInt(int)
public static int random(Random r, int n) { if ((n & -n) == n) // i.e., n is a power of 2 return (int)((n * (long)r.nextInt()) >> 31); int bits, val; do { bits = r.nextInt(); val = bits % n; } while(bits - val + (n-1) < 0); return val; }
- 我在netbeans中遇到了同样的问题,并解决了它