java - 如何在 JTextArea 中打印数组列表(使用字符)?

标签 java arraylist char jtextarea

好吧,所以我必须为学校制作一款名为“愤怒的坦克”的游戏,它基本上是愤怒的小鸟的简单版本。 我们必须读入一个文本文件作为我们游戏的风景,这个文本文件包含空格和标签,标签代表土地。 该文件已被读取并插入到数组列表中,有一个公共(public)方法调用 getLandscapeFromFile()。

我正在尝试使用循环将所有主题标签替换为图像,将景观打印到名为 textArea 的 JTextArea 中。我应该使用文本区域还是应该使用另一个面板?

这是我尝试过但不起作用的代码:

for (int i = 0; i < Landscape.getLandscapeFromFile().size(); i++) {
            for (char[] c : Landscape.getLandscapeFromFile()) {
                textArea.append(String.valueOf(c[i]));
}
}

我一直在尝试各种方法,但似乎没有任何效果...... 顺便说一句,我不太擅长 Java,这只是我学习 IT 的第一年。

最佳答案

问题出在你的第二个循环

您选择单词的i字符

for (char[] c : Landscape.getLandscapeFromFile()) {
        textArea.append(String.valueOf(c[i]));
    } 

您可能习惯写入该数组的每个字符。

for (char[] c : Landscape.getLandscapeFromFile()) {
    textArea.append(String.valueOf(c));
}

由于您的任务是将文件内容写入文本区域,因此您应该执行此操作。

提示:您应该避免访问加载方法两次,因为它会消耗用户局部变量的时间。

List<char[]> landscapes = Landscape.getLandscapeFromFile(); //Read once 

for(char[] landscape : landscapes) {//Iterate through all landscapes
    stextArea.append(new String(landscape)); //Create new String for char array
}

关于java - 如何在 JTextArea 中打印数组列表(使用字符)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22287413/

相关文章:

java - 需要帮助通过省略其中一些来计算数字的总和

字符字符串覆盖其他字符串

Java、JDBC INSERT ON DUPLICATE KEY UPDATE 通配符

java - LinkedList 插入绑定(bind)到插入的对象

java - 创建给定 Paint 的半透明版本

java - 如何在生产中处理 Play Framework 2 数据库演进

java - 检查数组元素是否包含特定值的最佳方法

arrays - 当数组数量和每个数组的长度未知时生成字符组合的所有排列

c++ - 使用 %u 读取签名的字符

c++ - 作为 char* 传递后获取数组的长度