java - 如何在字符串数组中使用整数?

标签 java android android-studio

美好的一天,我怎样才能让这个工作像这样?

    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/

相关文章:

javascript - 如何在 expo 中以编程方式启用/禁用 textinput?

android - Android默认开启AccessibilityService的方法

android - 在android中实现hilt库时gradle出错

java - 仅用速度替换字符串的一部分

java - 将多个映射序列到一个文件

java - Level Order tree 遍历通用树,逐层显示树

jar - 如何让 Android Studio 将资源包含在 .jar 文件中?

java - 使用以下几个队列进行请求-回复

android - 无法安装LibGDX [构建工具27.0.2]

android studio gradle build编译报错