我在调用我的数组时遇到问题..... 我想制作一个类似刽子手的游戏...... 我为每个类别制作字符串数组....
这是我在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
答案 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。