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

时间:2014-01-18 18:51:12

标签: 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_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的价值”...... 它没有显示错误.. 但是当我尝试运行它时,只需在选择一个类别后强行关闭...... 不能去game.java

1 个答案:

答案 0 :(得分:0)

范围或变量仅在其if / else块中可见。你在他们身上什么也没做,因而警告;

像这样改变你的方法:

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)];
}

关闭力量,显示你的logcat。