帮忙检验java代码,按理说按钮文本会改变,但什么都没发生(如下代码不明白的请问)

ok.addMouseListener(newMouseAdapter(){publicvoidmouseClicked(MouseEvente){Stringstf=t... ok.addMouseListener(new MouseAdapter() {

public void mouseClicked(MouseEvent e ) {

String stf=tf.getText();
char []ctf=stf.toCharArray();
StringBuilder []sbtf=new StringBuilder[stf.length()];
String []sstf=new String[stf.length()];
int []itf=new int [stf.length()];
int i = 0;
for (char tem:ctf)
{

sbtf[i].append(tem);
sstf[i]=sbtf[i].toString();

i++;
}
i=0;
int n=0;
for(String ss:sstf)
{
try
{
itf[n]=Integer.parseInt(ss);
n++;
}
catch(Exception ex)
{

}
i++;

}
String st=new String((new StringBuilder().append(itf[0])).toString());
ok.setText(st);

}

});
展开
 我来答
rayregister
2013-02-07 · TA获得超过339个赞
知道小有建树答主
回答量:100
采纳率:100%
帮助的人:65.5万
展开全部
应该有运行时错误吧?

StringBuilder []sbtf=new StringBuilder[stf.length()];

定义了StringBuilder数组,但是下面的for循环中直接使用
sbtf[i].append(tem);

很明显,sbtf中的StringBuilder未初始化,会报空指针异常。
追问
请问怎么改比较好??
还有,你看懂我的代码是干嘛吗?看懂了比较好回答
追答
好吧,我仔细看了下你的代码,目前的版本 作用是用JTextfield中输入字符串的第一位 替换JButton的标签

但是有几个问题,所以上述代码目前是跑不起来的:

1. 之前说过, sbtf中的StringBuilder对象没有初始化
你可以在StringBuilder [] sbtf = new StringBuilder[stf.length()];后面加入以下语句
for(int i = 0; i < sbtf.length; i++)
sbtf[i] = new StringBuilder();

然后运行,在JTextfield中输入数字开头的字符串就可以看到预期结果
(但是如果输入的是字母开头的字符串,那依然会报错,错误如下)

2.如果输入字母开头的字符串,
itf[n]=Integer.parseInt(ss); 这一句会产生异常的,被空catch块捕获,最终结果
你的JButton标签会变成默认的0
百度网友fd08e76
2013-02-08
知道答主
回答量:5
采纳率:0%
帮助的人:7466
展开全部
你这个代码确定运行的时候不会抛出空指针异常?这个StringBuilder[] sbtf = new StringBuilder[stf.length()];中的每一个sbtf[i]都没有进行初始化。。
这段代码要实现的应该是输入数字文本,然后装换成整型,将转换之后的结果在按钮ok上显示出来。这句String st=new String((new StringBuilder().append(itf[0])).toString());明显是只将首字符装换成int,然后显示出来,其他的根本没能显示。
追问
我实现的是将数据过滤,把文本域的文本parseInt,不成功的被catch
追答
对呀,但如果不把那个StringBuilder进行初始化,一运行就会抛空指针异常呀
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-02-07
展开全部
不知道啊不知道
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式