我的循环GUI不断出错,有人知道这个问题吗?

时间:2018-11-04 10:08:20

标签: java loops user-interface

有人知道我的代码有什么问题吗?它在Java GUI中不断收到错误输出 循环2和循环3在调试后出现错误,我不知道怎么了

 private void butActionPerformed(java.awt.event.ActionEvent evt) {                                    
    String input1 = txtInput.getText();
    String input2 = input1.toLowerCase();
    char[] word1 = new char[input2.length()];
    char[] word2 = new char[26];
    for (int i = 0; i < word2.length; i++) {
        word2[i] = (char) (97 + i);
    }
    int[] x = new int[26];
    for (int i = 0; i < word1.length; i++) {
        input1[i] = input2.charAt(i);
    }
    for (int i = 0; i < word2.length; i++) {
        for (int j = 0; j < word1.length; j++) {
            if (word2[i])==word1[j]) {
                x[i]++;
            }

        }

    }
    txtOutput1.setText(Arrays.toString(word2));
    txtOutput2.setText(Arrays.toString(x));
}               

2 个答案:

答案 0 :(得分:1)

第一个问题:

input1是一个字符串,但是使用input1[i] = input2.charAt(i);会将其视为一个数组-Java不允许这样做。

根据您的逻辑,我认为对应的行应该是

word1[i] = input2.charAt(i);

第二个问题:在线

if (word2[i])==word1[j]) {

括号内有一个大括号(word2[i]之后),该行应显示为

if (word2[i]==word1[j]) {

答案 1 :(得分:0)

input1是一个String变量,因此是不可变的,这意味着它只能被分配一个新值,否则将无法更改。

以下行会导致问题:

input1[i] = input2.charAt(i);