如何在用户界面上判断输入的是否是数字?谢谢 数字还是整数最简单的办法用try{Double.pasreDouble(要判断的字符串);}catch(Exception e){}如果出异常就不是数字,否则就是数字 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 try{ Integer.parseInt( 你得到的输入内容 );}catch( Exception e ){ 不是数字,提示重输} 我一开始就用了这些代码可是不管用,如果输入不是数字,界面没反应:public boolean action(Event e,Object o) { int n1=0,n2=0,n3=0,n4=0,n,na; String s1,s2,s3,s4,s,sa,name; if(e.target.equals(b1)) { try{ s1=number2.getText(); n1=Integer.parseInt(s1); s2=number3.getText(); n2=Integer.parseInt(s2); s3=number4.getText(); n3=Integer.parseInt(s3); s4=number5.getText(); n4=Integer.parseInt(s4); } catch(Exception e1){ System.out.println(e1); } n=n1+n2+n3+n4; s=String.valueOf(n); label8.setText(s); repaint(); }是不是我的catch里面写的不恰当?谢谢了 String num;String pt=/([0-9]*).([0-9]*)/;String r=num.match(pt);String l=num.length;if(l>0){if(r.index!=0||r.lastIndex!=l){不是数字}} String a num;double result;try { result = Double.parseDouble(num);}catch(NumberFormatException exc){ System.out.println("Invlid number "+ num); return;} 异常没有错label8.setText(s);repaint();你试试label8.repaint(); 谢谢各位,问题已经解决,我是这样做的:try{ s1=number2.getText(); n1=Float.parseFloat(s1); s2=number3.getText(); n2=Float.parseFloat(s2); s3=number4.getText(); n3=Float.parseFloat(s3); s4=number5.getText(); n4=Float.parseFloat(s4); } catch(NumberFormatException e1){ JOptionPane.showMessageDialog(null,"请输入数字!") ; }看来catch语句没有错,但是在图形界面里system.out.println没有反应,只好用了joptionpane当然为此还要加入import javax.swing.*;这样就行了。谢谢大家,互相学习! velocity的一些问题 帮我看看这个程序的运行结果 关于java泛型的使用中遇到的问题 关于javadbf的操作 怎样计算出与当前给出日期后面的最近的星期六? 关于Swing中用按钮做超链接 Java中怎样判断一个字符串是否有效的时间? 初级问题请教:ComboBox这个东西到底怎么用啊?! 奇怪的问题,困扰了我好久,存储过程的返回值是Null,大虾进来看看! 请教各位大侠:System.exit()中的参数0和1代表什么意思?在线等待 请问有关exec的问题 问一个弱问题
Integer.parseInt( 你得到的输入内容 );
}catch( Exception e ){
不是数字,提示重输
}
public boolean action(Event e,Object o)
{
int n1=0,n2=0,n3=0,n4=0,n,na;
String s1,s2,s3,s4,s,sa,name;
if(e.target.equals(b1))
{
try{
s1=number2.getText();
n1=Integer.parseInt(s1);
s2=number3.getText();
n2=Integer.parseInt(s2);
s3=number4.getText();
n3=Integer.parseInt(s3);
s4=number5.getText();
n4=Integer.parseInt(s4);
}
catch(Exception e1){
System.out.println(e1);
}
n=n1+n2+n3+n4;
s=String.valueOf(n);
label8.setText(s);
repaint();
}
是不是我的catch里面写的不恰当?谢谢了
String pt=/([0-9]*).([0-9]*)/;
String r=num.match(pt);
String l=num.length;
if(l>0)
{
if(r.index!=0||r.lastIndex!=l)
{不是数字}
}
double result;
try {
result = Double.parseDouble(num);
}
catch(NumberFormatException exc){
System.out.println("Invlid number "+ num);
return;
}
label8.setText(s);
repaint();你试试
label8.repaint();
try{
s1=number2.getText();
n1=Float.parseFloat(s1);
s2=number3.getText();
n2=Float.parseFloat(s2);
s3=number4.getText();
n3=Float.parseFloat(s3);
s4=number5.getText();
n4=Float.parseFloat(s4);
}
catch(NumberFormatException e1){
JOptionPane.showMessageDialog(null,"请输入数字!") ;
}看来catch语句没有错,但是在图形界面里system.out.println没有反应,只好用了joptionpane
当然为此还要加入import javax.swing.*;
这样就行了。谢谢大家,互相学习!