Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/multithreading/4.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 无法从数组中分配随机值(错误:找不到符号)_Java_Arrays - Fatal编程技术网

Java 无法从数组中分配随机值(错误:找不到符号)

Java 无法从数组中分配随机值(错误:找不到符号),java,arrays,Java,Arrays,嘿,我正在创建一个简单的纸牌游戏,我无法解决我遇到的问题。我已经创建了一个方法DC来从一个cards数组返回一个随机的int值,但是我一直得到这个错误 TwentyOne.java:46: error: cannot find symbol a = new Random().nextInt(cards.length); ^ symbol: class Random location: class Twen

嘿,我正在创建一个简单的纸牌游戏,我无法解决我遇到的问题。我已经创建了一个方法DC来从一个cards数组返回一个随机的int值,但是我一直得到这个错误

TwentyOne.java:46: error: cannot find symbol
                a = new Random().nextInt(cards.length);
                        ^
  symbol:   class Random
  location: class TwentyOne
这是我的DC方法

public static int DC(int card){
    //fields
        int cards[];
        int a;
        cards = new int[30];
        //Populate card array with random values
        for (int i=0; i < cards.length; i++){
            cards[i] = (int)(Math.random()*13)+1;
        }
        //select a random value from cards array
        a = new Random().nextInt(cards.length);
        return a;

如果有人能给我帮助,我将不胜感激。提前感谢。

您的代码中有一些问题

首先,确保在文件顶部导入
java.util.Random

import java.util.Random;
其次,您不应该每次调用
DC
时都创建一个新的
Random
实例。创建
Random
实例作为类级变量:

private Random r = new Random();
public static int DC(int card){
    //fields
    int cards[];
    int a;
    cards = new int[30];
    //Populate card array with random values
    for (int i=0; i < cards.length; i++){
        cards[i] = (int)(Math.random()*13)+1;
    }
    //select a random value from cards array
    a = r.nextInt(cards.length);
    return a;
}
private Random r=new Random();
公共静态int DC(int卡){
//田地
int卡[];
INTA;
卡片=新整数[30];
//用随机值填充卡数组
对于(int i=0;i

另外,我看到你的
DC
方法有一个
card
参数,但是你没有在方法中的任何地方使用这个参数。你可以删除它,你知道。

你导入了
Random
吗?导入java.util.Random这就是问题所在,谢谢各位。根据错误,java.util.Random应该将它作为另一个侧节点进行修复,使用合适的
IDE
将帮助你轻松修复此类问题,因为它们促进了问题的解决,比如缺少导入。
private Random r = new Random();
public static int DC(int card){
    //fields
    int cards[];
    int a;
    cards = new int[30];
    //Populate card array with random values
    for (int i=0; i < cards.length; i++){
        cards[i] = (int)(Math.random()*13)+1;
    }
    //select a random value from cards array
    a = r.nextInt(cards.length);
    return a;
}