java判断用户输入是否为数字
时间: 2023-11-21 08:53:53 浏览: 32
可以使用正则表达式来判断用户输入是否为数字类型。具体实现方法如下:
```java
public static boolean isNumeric(String str) {
String reg = "^-?[0-9]+(.[0-9]+)?$";
return str.matches(reg);
}
```
其中,`^`表示匹配字符串的开始位置,`$`表示匹配字符串的结束位置,`-?`表示可选的负号,`[0-9]+`表示至少一个数字,`(.[0-9]+)?`表示可选的小数部分。
调用该方法,可以得到一个布尔值,表示输入是否为数字类型。示例如下:
```java
String s1 = "10000";
String s2 = "100.43";
String s3 = "-100";
String s4 = "month";
String s5 = "1023.89";
System.out.println(isNumeric(s1)); // true
System.out.println(isNumeric(s2)); // true
System.out.println(isNumeric(s3)); // true
System.out.println(isNumeric(s4)); // false
System.out.println(isNumeric(s5)); // true
```
相关问题
java判断命令行输入是否为数字
要判断命令行输入是否为数字,可以使用Java内置的NumberFormatException类。代码示例如下:
```
public static void main(String[] args) {
if (args.length == 0) {
System.out.println("请在命令行中输入数字参数");
return;
}
try {
double number = Double.parseDouble(args[0]);
System.out.println(args[0] + "是数字");
} catch (NumberFormatException e) {
System.out.println(args[0] + "不是数字");
}
}
```
这段代码判断输入的第一个参数,如果是数字则输出该数字,如果不是数字则输出不是数字。注意,需要使用try-catch语句来捕获抛出的NumberFormatException异常。
java判断输入内容是否为数字
以下是Java判断输入内容是否为数字的两种方法:
1.使用正则表达式判断输入内容是否为数字:
```java
public static boolean isNumeric(String str) {
if (str == null || str.length() == 0) {
return false;
}
Pattern pattern = Pattern.compile("[0-9]*");
return pattern.matcher(str).matches();
}
```
2.使用Java自带的方法判断输入内容是否为数字:
```java
public static boolean isNumeric(String str) {
if (str == null || str.length() == 0) {
return false;
}
try {
double d = Double.parseDouble(str);
} catch (NumberFormatException nfe) {
return false;
}
return true;
}
```