Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/reporting-services/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 尝试将结果从数组显示到文本区域_Java_Swing_Jtextarea - Fatal编程技术网

Java 尝试将结果从数组显示到文本区域

Java 尝试将结果从数组显示到文本区域,java,swing,jtextarea,Java,Swing,Jtextarea,我必须计算一个文本区域中的所有字母,并将结果输出到另一个文本区域 我可以做计数部分,但我不能让结果显示在另一个文本区域。它只输出数组中的最后一项 String str=enterTextArea.getText(); char[]myArry = str.toCharArray(); for(int counter =0;counter<myArry.length;counter++){ char ch= myArry[counter]; int count=0;

我必须计算一个文本区域中的所有字母,并将结果输出到另一个文本区域

我可以做计数部分,但我不能让结果显示在另一个文本区域。它只输出数组中的最后一项

  String str=enterTextArea.getText();

char[]myArry = str.toCharArray();
for(int counter =0;counter<myArry.length;counter++){
    char ch= myArry[counter];
    int count=0;
    for ( int i=0; i<myArry.length; i++){
        if (ch==myArry[i])
            count++;
    }
    boolean flag=false;
    for(int j=counter-1;j>=0;j--){
        if(ch==myArry[j])
            resultTextArea.setText(ch + ":"+"\t"+count + "\n");
        flag=true;
    }
    if(!flag){

        resultTextArea.setText(ch + ":"+"\t"+count + "\n");
    }
}
String str=enterTextArea.getText();
char[]myArry=str.toCharArray();
对于(int counter=0;counter您想要的,而不是
setText

setText
正是这样做的:设置文本。追加…嗯,追加



不相关,但代码本质上无法读取。请适当缩进。

除了
文本区域。追加之外,您的实现的逻辑也有问题。即使您修复了显示部分,它也无法打印正确的结果

既然你说这是你们班的作业,我就不去修正它们,只是指出它们:

  • for(int i=0;…)
的for循环
最好改为for(int i=counter..)或counter+1
,这取决于您如何增加计数。否则一些字符会被计数多次。请考虑以下字符串:
abababab…[ab]x10..ab
正确的结果将是
a:10和b:10
。我认为您的逻辑不会打印出这一点

  • 该问题可以通过类似哈希表的数据结构在单for循环中解决:

  • 您从第一个元素循环数组,如果该哈希表中的
    char
    ,只需
    ++
    它的值,否则将一个新元素放入该HT中,
    char
    作为键,1作为值。这个HT可以在循环之外声明。在您循环整个数组后,您只需打印HT中的所有元素,它就具有苏丹


    希望能有帮助。

    太棒了。回答Dave。我甚至没有想过附加它。工作起来像帮派杀手一样!感谢百万人有人通过编辑破坏了OP的代码,或者代码真的是这样的?这根本不会被编译。看看(j)中的
    ch
    loop.做了另一次编辑,希望这就是OP的original@Kent查看这些代码表明,唯一更改代码的人是您。OP——为了更快地获得更好的帮助,请发布一条消息。@andrewhompson我看到的是,Cemre在3日重新编辑了代码(来自历史记录)修订版。一个关闭的
    }
    被删除..我所做的只是将OP的原始代码复制到我的vim中,并做了一个
    gg=G
    然后粘贴为新编辑。。。。