Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/320.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_Android_Arrays - Fatal编程技术网

Java 获取所选每个类别的随机数组

Java 获取所选每个类别的随机数组,java,android,arrays,Java,Android,Arrays,我在调用我的数组时遇到问题。。。。。 我想做一个像《刽子手》这样的游戏,它有分类。。。 我为每个类别制作字符串数组 下面是我在game.java中的一些代码 public static final String KEY_CATEGORY = "package.name.category"; public static int CATEGORY_CITY = 0; public static int CATEGORY_ANIMAL = 1; public static int CATEGORY_F

我在调用我的数组时遇到问题。。。。。 我想做一个像《刽子手》这样的游戏,它有分类。。。 我为每个类别制作字符串数组

下面是我在game.java中的一些代码

public static final String KEY_CATEGORY = "package.name.category";
public static int CATEGORY_CITY = 0;
public static int CATEGORY_ANIMAL = 1;
public static int CATEGORY_FRUIT = 2;
public static int CATEGORY_PLANT = 3;

private void setWordByCategory() {
    // TODO Auto-generated method stub
    cat = getIntent().getIntExtra(KEY_CATEGORY,CATEGORY_CITY);
    mysteryWord = getWord (cat);

private String getWord(int cat) {
    if (cat == CATEGORY_CITY) {
        String[] array = getResources().getStringArray(R.array.cityarray);
        String randomStr = array[new Random().nextInt(array.length)];
    } else if (cat == CATEGORY_ANIMAL) {
        String[] array = getResources().getStringArray(R.array.animalarray);
        String randomStr = array[new Random().nextInt(array.length)];
    } else if (cat == CATEGORY_FRUIT) {
        String[] array = getResources().getStringArray(R.array.fruitarray);
        String randomStr = array[new Random().nextInt(array.length)];
    } else if (cat == CATEGORY_PLANT) {
        String[] array = getResources().getStringArray(R.array.plantarray);
        String randomStr = array[new Random().nextInt(array.length)];
    }
    // TODO Auto-generated method stub
    return mysteryWord;
}
我的代码有什么问题? 它说“RandomStr的值没有被使用”。。。 它没有显示错误。。 但当我尝试运行它时,它只是在选择一个类别后强制关闭。。。
无法进入游戏。java

范围或变量仅在其if/else块中可见。你在他们身上什么都没做,因此发出了警告

public static final String KEY_CATEGORY = "package.name.category";
public static int CATEGORY_CITY = 0;
public static int CATEGORY_ANIMAL = 1;
public static int CATEGORY_FRUIT = 2;
public static int CATEGORY_PLANT = 3;

private void setWordByCategory() {
    // TODO Auto-generated method stub
    cat = getIntent().getIntExtra(KEY_CATEGORY,CATEGORY_CITY);
    mysteryWord = getWord (cat);

private String getWord(int cat) {
    if (cat == CATEGORY_CITY) {
        String[] array = getResources().getStringArray(R.array.cityarray);
        String randomStr = array[new Random().nextInt(array.length)];
    } else if (cat == CATEGORY_ANIMAL) {
        String[] array = getResources().getStringArray(R.array.animalarray);
        String randomStr = array[new Random().nextInt(array.length)];
    } else if (cat == CATEGORY_FRUIT) {
        String[] array = getResources().getStringArray(R.array.fruitarray);
        String randomStr = array[new Random().nextInt(array.length)];
    } else if (cat == CATEGORY_PLANT) {
        String[] array = getResources().getStringArray(R.array.plantarray);
        String randomStr = array[new Random().nextInt(array.length)];
    }
    // TODO Auto-generated method stub
    return mysteryWord;
}
按以下方式更改您的方法:

private String getWord(int cat) {
    String [] array = null;
    if (cat == CATEGORY_CITY) {
        array = getResources().getStringArray(R.array.cityarray);
    } else if (cat == CATEGORY_ANIMAL) {
        array = getResources().getStringArray(R.array.animalarray);
    } else if (cat == CATEGORY_FRUIT) {
        array = getResources().getStringArray(R.array.fruitarray);
    } else if (cat == CATEGORY_PLANT) {
        array = getResources().getStringArray(R.array.plantarray);
    }

    return array == null ? "ERROR" : array[new Random().nextInt(array.length)];
}

对于强制关闭,请显示您的日志猫。

@user2336315然后如何修复它。。?对不起,我刚学过java。。。先生,你能帮我吗?出示你的失事记录?