java中如何将文本框输入的值(ex:TextField)赋予变量(整型),如果输入的不是数值,怎么办

 我来答
shinezro
2011-10-22 · TA获得超过422个赞
知道小有建树答主
回答量:275
采纳率:0%
帮助的人:330万
展开全部
String str=textField.getText();//获得输入的内容
int result=-1;//定义result存放转换后的值
try{
result=Integer.parseInt(str);//调用类Integer的parseiInt()方法将字符串str转换为相应的整形数据
}catch(Exception ex){//捕获异常,并在textField中显示指定的信息
textField.setText("输入中含有非数字字符...");
}
更多追问追答
追问
假设textField.setText("1+f1),使得result=1+f1
即在文本框中输入公式1+f1,使类中定义的f1按照这个公式计算?是把表达式赋给 result而不是值
追答
import java.util.Map;
import java.util.HashMap;
//...
int f1=100;
Map buff=new HashMap();
buff.put("f1",""+f1);

String str=textField.getText();
char ch='X';
int first=0;
int second=0;
int result=-1;
for(int i=0;i<str.length();i++){
ch=str.charAt(i);
if(ch=='+'){//如果是其他运算符,改成相应的,并且只适用于 仅包含两个操作数的情况
first=Integer.parseInt(str.substring(0,i));
second=Integer.parseInt(buff.get(str.substring((i+1),str.length())).toString());
result=first+second;
}
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式