英文:
How to use integers in string array?
问题
好的,以下是翻译好的内容:
早上好,我该如何使这个代码像这样工作?
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`,并在每个 `level` 中使用不同的值,但 `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` 在每个 `level` 中包含不同的值,
或者对于每个字符串数组只有一个值。
例如:
`final String[] a = new String[]{"asd", "qwe"} = 0`
`final String[] b = new String[]{"dsa", "dsa"} = 1`
谢谢。如果我的问题难以理解,请告诉我。
请注意,代码部分仅进行了中文翻译,没有进行实际代码的执行或验证。如果您需要进一步的帮助,请随时提问。
英文:
Good day, how can I make this work like this?
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"};
I want to use a
in my Edit text with different value in every level
but a
isnt working.
if (answer1.getText().toString().contains(a))
If I remove if (level == 0)
, the value of level
goes to "heart", "spade"
. I cannot use this because I am using .contains
in two or more words.
I already tried final String[] stringvar = new String[]{Arrays.toString(a), Arrays.toString(b)};
+ .contains(stringvar[level])
but it's no good.
So what I need is a
contains different value in every level
.
or for every string array that only 1 value.
for example:
final String[] a = new String[]{"asd ", "qwe"} = 0
final String[] b = new String[]{"dsa ", "dsa} = 1
Thank you. Please tell me if my question is hard to understand.
答案1
得分: 0
所以根据我理解,您想要为每个对应的级别创建一个字符串数组。我建议您查看一下 Map
数据类型。您可以创建一个存储级别编号和要检查答案的单词数组的 Map<Integer, String[]>
。
一个示例是:
Map<Integer,String[]> map = new HashMap<>();
map.put(1, new String[]{"asd", "qwe"}); // 第1级
map.put(2, new String[]{"dsa", "dsa"}); // 第2级
然后在您的代码中,您可以使用 map.get(n)
来获取第 n 级的字符串数组,依此类推。
英文:
So from what I understand, You want an Array of Strings for each corresponding level. I recommend you check out the Map
datatype. You create a Map<Integer, String[]>
that stores your level number and array of words you want to check the answer for.
A sample is:
Map<Integer,String[]> map = new HashMap<>();
map.put(1, {"asd ", "qwe"}); // Level 1
map.put(2, {"dsa", "dsa"}); // Level 2
You can then use map.get(n)
to get the String array for the nth level etc. in your code.
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论