java银行管理系统判断存款金额是否为数字,否则重新输入的代码如何写?

System.out.println("(请输入存款的金额):");amount=tools.input();... System.out.println("(请输入存款的金额):");
amount = tools.input();
展开
 我来答
狂暎8j
推荐于2016-05-21 · TA获得超过723个赞
知道小有建树答主
回答量:313
采纳率:0%
帮助的人:274万
展开全部
1、Integer.parseInt(amount); 如果抛出异常就不是数字;
2、amount.matches("[\\d]+"); 正则表达式匹配全数字,不是返回false
追问
怎样让它重新输入 就是不显示异常(您输入的是非数字,请重新输入)
追答
while(!amount.matches("[\\d]+"))
{
System.out.println("(非数字,请重新输入存款的金额):");
amount = tools.input();
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
岁生懿J
2014-09-22 · 超过30用户采纳过TA的回答
知道答主
回答量:84
采纳率:0%
帮助的人:49.9万
展开全部

public class isNum {
public static void main(String[] args) {
    String s =new String();
    s="12346987d";
    
     try {
           Integer.parseInt(s);
           System.out.println(true);
          } catch (NumberFormatException e) {
           System.out.println( false);
          }
    
}
}


已赞过 已踩过<
你对这个回答的评价是?
评论 收起
放荡不羁神经病
2014-09-22 · TA获得超过794个赞
知道小有建树答主
回答量:1580
采纳率:65%
帮助的人:580万
展开全部
用正则即可。
Pattern pattern = Pattern.compile("[0-9]*");
Matcher isNum = pattern.matcher("1123是数字");
if(isNum.matches()) {
System.out.println("全部是数字");
} else {
System.out.println("有汉字");
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
小锄头andrew
2014-09-22 · TA获得超过627个赞
小锄头andrew
采纳数:224 获赞数:627

向TA提问 私信TA
展开全部
//正则表达式数字验证
    public boolean isNumber(String str)
    {
        java.util.regex.Pattern pattern=java.util.regex.Pattern.compile("[0-9]*");
        java.util.regex.Matcher match=pattern.matcher(str);
        if(match.matches()==false)
        {
             return false;
        }
        else
        {
             return true;
        }
    }
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式