Java中处理空白输入行并检查字符串是否为数字

发布于 2024-10-12 09:47:30 字数 86 浏览 5 评论 0原文

如果我要求用户输入:

  1. 如何处理空白输入(例如人名)?
  2. 如何确保需要为数字的字符串输入实际上是数字?

If I am asking for user input:

  1. How can I handle a blank input (e.g. for a name of a person)?
  2. How can I ensure that a String input required to be a number is actually a number?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(6

浮华 2024-10-19 09:47:30

http://commons.apache.org/lang/

  org.apache.commons.lang.StringUtils.isBlank(str);
  org.apache.commons.lang.math.NumberUtils.isNumber(str);

http://commons.apache.org/lang/

  org.apache.commons.lang.StringUtils.isBlank(str);
  org.apache.commons.lang.math.NumberUtils.isNumber(str);
雨的味道风的声音 2024-10-19 09:47:30

检查输入字符串长度是否等于 0,要检查数字,您可以执行此操作。

try
{
    int num = Integer.parseInt(string);
}
catch (Exception e)
{
    System.out.println("Invalid number");
}

抱歉,如果格式有点不对劲,但我的浏览器今天运行得不好。

check if the input String length == 0, to check for numbers you can do this

try
{
    int num = Integer.parseInt(string);
}
catch (Exception e)
{
    System.out.println("Invalid number");
}

Sorry if the formatting is a little off but my browser isn't playing well today.

情定在深秋 2024-10-19 09:47:30

Q1) 您应该决定要做什么(例如显示错误消息)

Q2)

try 
{

  double d = Double.parseDouble(yourString);

} catch (NumberFormatException e) 
{
 //not number 
}

Q1) You should decide on what to do (e.g. display error message)

Q2)

try 
{

  double d = Double.parseDouble(yourString);

} catch (NumberFormatException e) 
{
 //not number 
}
倾城泪 2024-10-19 09:47:30
if (input.trim().length() == 0) {
    // input is empty
}

try {
    Integer.parseInt(input);
} catch(NumberFormatException ex) {
    // input is not a valid int
}

代码(注意 trim()

if (input.trim().length() == 0) {
    // input is empty
}

try {
    Integer.parseInt(input);
} catch(NumberFormatException ex) {
    // input is not a valid int
}

for the code (note the trim())

空‖城人不在 2024-10-19 09:47:30

测试字符串是否为空:

if (name.isEmpty())

有时用户会输入无关的空格。您可以通过修剪它们来解决这个问题,因此像 " " 这样的字符串仍然会被标记为空:

if (name.trim().isEmpty())

要测试字符串是否是数字,请解析它并查看是否出现异常:

try {
    int value = Integer.valueOf(string);

    System.out.println("value is " + value);
}
catch (NumberFormatException exception) {
    System.out.println("not a valid number: " + string);
}

To test if a string is empty:

if (name.isEmpty())

Sometimes users enter extraneous spaces. You can work around that by trimming them out, so a string like " " still gets flagged as empty:

if (name.trim().isEmpty())

To test if a string is a number, parse it and see if you get an exception:

try {
    int value = Integer.valueOf(string);

    System.out.println("value is " + value);
}
catch (NumberFormatException exception) {
    System.out.println("not a valid number: " + string);
}
半夏半凉 2024-10-19 09:47:30

try..catch 方法对我来说不起作用,所以我选择了另一种方法。

for(byte i = 0; i < string.length(); i++) {
    if(string.charAt(i) > 65) {
        isNtNumber = true;
    } 
}

The try..catch method won't work for me, so I chose another approach.

for(byte i = 0; i < string.length(); i++) {
    if(string.charAt(i) > 65) {
        isNtNumber = true;
    } 
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文