java - 元素未添加到 ArrayList Java - Android
问题描述
很明显我不熟悉java,我遇到了变量问题,问题是我无法更改行和列的值,并且元素没有添加到代码中的ArrayList中。这就是我声明变量的方式。
// variables to be used
public int row ,col;
public char[][] board;
public ArrayList<String> converted_board;
public ArrayList<String> toUseWords;
public ArrayList<String> toUseDescription;
public ArrayList<String> inUse = new ArrayList<>();
public Random randomizer = new Random();
// Create instances of categories
private Words easyCategory = new Words(easyLetterWord, easyDescription);
private Words normalCategory = new Words(normalLetterWord, normalDescription);
private Words hardCategory = new Words(hardLetterWord, hardDescription);
这是我的问题
// get game mode easy = 4, normal = 5, hard = 6 letters
if (gameMode.toLowerCase() == "easy mode") {
row = 8;
col = 4;
toUseWords = getToUseWords(easyCategory.getWord(), toUseWords, inUse, row);
toUseDescription = getWordDefinitions(easyCategory.getWord(), toUseWords, easyCategory.getDesription());
}
else if (gameMode.toLowerCase() == "normal mode"){
row = 6;
col = 5;
toUseWords = getToUseWords(normalCategory.getWord(), toUseWords, inUse, row);
toUseDescription = getWordDefinitions(normalCategory.getWord(), toUseWords, normalCategory.getDesription());
}
else if (gameMode.toLowerCase() == "hard mode"){
row = 6;
col = 6;
toUseWords = getToUseWords(hardCategory.getWord(), toUseWords, inUse, row);
toUseDescription = getWordDefinitions(hardCategory.getWord(), toUseWords, hardCategory.getDesription());
//convert 2D array to 1D array to be passed in in the adapter
// converted_board = board_convert(board);
// for debugging purposes
description_display.setText(String.valueOf(row));
当我尝试在文本视图中显示 ArrayList 的行和大小时,输出为 0
解决方案
我看到两件事可能是你的问题。
在 java 中比较字符串应该使用 String.equals() 方法,而不是 == 操作符。== 运算符不比较字符串的内容,而是比较对象“指针”——它们通常不一样。即您想为 3 个字符串比较执行此操作:
if("简易模式".equals(gameMode.toLowerCase())
我在第三个 if/else 语句中没有看到右括号
我还建议设置断点并单步执行代码和/或进行一些 System.out 调用,以便您可以查看正在执行的分支,或不打印出各个点的状态以帮助您调试它。
推荐阅读
- python - 如何将此方法从 C++ 转换为 Python?
- javascript - 在鼠标滚轮滚动上模糊背景图像
- python - 我在使用 python 计算一个简单的算术时遇到了麻烦
- oracle - 在 Oracle 中使用 Pivot 将行转换为列
- python - 尝试编写调查代码我不知道如何使减法起作用
- python - Selenium WebDriver css selector
- flutter - 如何在 Flutter / Dart 的下一个屏幕上显示小吃栏消息?
- php - 在 woocommerce 电子邮件模板中,如何检查用户是否是批发客户?
- reactjs - 在 React 中为传递的 props 组件添加 className 属性
- google-sheets - Arrayformula 正在覆盖后续行的结果,而不是填充它们自己的值