0

我正在尝试将输入字符串更改为它的 ASCII 码。该字符串的长度不确定,我需要单独对每个字符代码进行操作。

前几天晚上我有这个工作,但由于某种原因它现在不会了,我不知道为什么......我在指示的行得到一个空指针异常......

这是整个方法。

    private void encodeEnableButtonActionPerformed(java.awt.event.ActionEvent evt)      
    {                                                   
       String encoded = msgToEncrpt.getText();
       int[] text = null;
       for (int i=0; i<encoded.length(); i++)
       {
          text[i] = (int)encoded.charAt(i);//Exception occurs here.
          System.out.println(text); 
       }
     }
4

4 回答 4

4

您正在尝试设置空数组的元素。改变

int[] text = null;

int[] text = new int[encoded.length()];
于 2013-07-11T19:01:49.653 回答
3

该数组textnull,因此在初始化之前无法访问它。

int[] text = new int[encoded.length()];

此外,要正确打印数组的内容,您需要调用Arrays.toString.

 System.out.println(Arrays.toString(text));
于 2013-07-11T19:01:48.320 回答
1
int[] text = null;
....
text[i] = ....

当您尝试为其元素赋值时,您的数组为空。您必须在此操作之前创建数组,即

int[] text = new int[encoded.length()];
于 2013-07-11T19:03:41.793 回答
0

问题就在这里

int[] text = null;

您没有正确初始化数组。为了添加元素或与之交互,您需要初始化数组。

int[] text = new int[encoded.length()]; 
于 2013-07-11T19:06:12.280 回答