java程序中,数据验证,如何判断输入的文本框中的值是不是int型?

 我来答
死后是好人
2011-08-24 · TA获得超过2638个赞
知道小有建树答主
回答量:628
采纳率:0%
帮助的人:963万
展开全部
String str1=jTextField1.getText();
str1=str1.replaceAll("[0-9]","");//将所有的数字型字符替换为空
if(str1.length()==0)
System.out.println(“文本框中的值是int类型”);//文本框中的值是int类型
else
System.out.println(“文本框中的值不是int类型”);//因为有其他字母或者符号型字符的存在
//文本框中的值不能用 Integer.parseInt()
//转换为匹配的int型数据

这样楼主满意了吧,只要三行有用的代码就行了,哪三行楼主你懂的
dieywqwczg
2011-08-25 · TA获得超过490个赞
知道小有建树答主
回答量:645
采纳率:0%
帮助的人:445万
展开全部
我不知道你的意思是不是累记求和,看你的提意只是a的前次输入与这一次输入的值求和,而这一次输入又与下一次输入求和,而不是每次输入累记求和.下面是代码,我运行通过了.
import java.awt.*;
import java.awt.event.*;
import java.applet.*;

public class SubApplet extends Applet{
TextField tfa,tfb;
int a;//记录a的原值
public void init()
{
a=0;//原值初始化为0
tfa=new TextField(12);
tfb=new TextField(12);
Label la=new Label("a:");
Label lb=new Label("b:");
add(la);
add(tfa);
add(lb);
add(tfb);
tfa.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
sum();
}
});
}
public void sum()
{
int b=Integer.parseInt(tfa.getText());
tfb.setText((a+b)+"");
tfa.setText("");//清空a以便下次输入
a=b;//将当前值作为原值,以便下次输入时使用

}
public void run()
{

}
}
如果是累记求和把sum方法改成如下:
int b=Integer.parseInt(tfa.getText());
a +=b;
tfb.setText(a+"");
tfa.setText("");
OK了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
竟然可以七个字
2011-08-23 · TA获得超过285个赞
知道小有建树答主
回答量:233
采纳率:100%
帮助的人:171万
展开全部
if(value instanceof int)
追问
我在文本框中取得的值是:jTextField1.getText()
if(value instanceof int)中的value就是jTextField1.getText()
一直都是出错。
追答
抱歉,我弄错了,getText()方法返回类型为String,所以不能这么判断,试试楼下那位朋友的try...catch块吧。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
xckouy
2011-08-23 · TA获得超过1538个赞
知道小有建树答主
回答量:1291
采纳率:0%
帮助的人:864万
展开全部
try{
Integer.parseInt(jTextField1.getText());
}catch(Exception e){
// 不是int
}

------------------

if(value instanceof Integer) {
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式