Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/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
Java J2ME错误-Random类型中的方法nextInt()不适用于参数(int)_Java_Java Me_Random - Fatal编程技术网

Java J2ME错误-Random类型中的方法nextInt()不适用于参数(int)

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的

我刚开始学习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的幂
返回(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


    • 我在netbeans中遇到了同样的问题,并解决了它

    • 右键单击项目,转到属性
    • 转到构建中的库和资源
    • 添加库
    • 用于CLDC11的JMUnit的滚动条
    • 单击“确定” 建造。所有问题都解决了
      我刚离开JMUnit去CLDC11。我不确定我是否需要它。一旦我弥补了损失的时间,也许我会在没有它的情况下进行测试。

      我肯定我指定了CLDC 1.1,但我打赌你一定是意外指定了CLDC 1.0,因为缺少了
      Random.nextInt(int)
      方法。Yepp@aioobe,我知道,一定是它。。。但很明显他已经检查过了?!我建议他反复检查。这是唯一合理的解释。嗯…让我尝试用CLDL 1.1创建新项目。我希望这不是Eclipse问题。请复制一段代码和完整的错误消息,好吗?我得到了类似int R=random.nextInt(256)的所有行的错误,其中random作为静态随机生成器。我得到的错误是: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;
      }