美好的一天,我怎样才能让这个工作像这样?
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Intent int1 = getIntent();
final String category = int1.getStringExtra("category");
final int level = int1.getIntExtra("level", 0);
if (level == 0) {final String[] a = new String[]{"heart", "spade"};
if (level == 1) {final String[] a = new String[]{"black", "blue"};
我想在编辑文本中使用 a
,并在每个 级别
中使用不同的值,但 a
不起作用。
if (answer1.getText().toString().contains(a))
如果我删除 if (level == 0)
,level
的值将变为 "heart", "spade"
。我无法使用它,因为我在两个或多个单词中使用 .contains
。
我已经尝试过 final String[] stringvar = new String[]{Arrays.toString(a), Arrays.toString(b)};
+ .contains(stringvar[level] )
但这不好。
所以我需要的是a
在每个级别
中包含不同的值。
或者对于每个只有 1 个值的字符串数组。
例如:
final String[] a = new String[]{"asd ", "qwe"} = 0
final String[] b = new String[]{"dsa ", "dsa} = 1
谢谢。如果我的问题很难理解,请告诉我。
最佳答案
据我了解,您需要每个相应级别的字符串数组。我建议您查看Map
数据类型。您创建一个 Map<Integer, String[]>
它存储您的级别编号和您想要检查答案的单词数组。
示例是:
Map<Integer,String[]> map = new HashMap<>();
map.put(1, {"asd ", "qwe"}); // Level 1
map.put(2, {"dsa", "dsa"}); // Level 2
然后您可以使用 map.get(n)
获取代码中第 n 层等的字符串数组。
关于java - 如何在字符串数组中使用整数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61613366/