java给定一个字符串。程序应该显示此行的描述:整数,实数,不是数字。 考虑实数的小数部分与其整数部分由小数点“.”分隔。
时间: 2023-05-11 18:01:45 浏览: 50
答案:可以使用正则表达式来匹配字符串中的数字类型。具体实现可以使用Java中的Pattern和Matcher类,代码如下:
String str = "123.45";
Pattern pattern = Pattern.compile("^-?\\d+(\\.\\d+)?$");
Matcher matcher = pattern.matcher(str);
if (matcher.matches()) {
if (str.contains(".")) {
System.out.println("This is a real number.");
} else {
System.out.println("This is an integer.");
}
} else {
System.out.println("This is not a number.");
}
相关问题
java给定一个字符串。程序应该显示此行的描述:整数,实数,不是数字。 考虑实数的小数部分与其整数部分由小数点“.”分隔。
可以使用正则表达式来匹配字符串中的整数、实数和非数字部分。以下是示例代码:
```java
String input = "123.45 678.90 abc";
String regex = "(\\d+)|(\\d+\\.\\d+)|([^\\d\\s]+)";
Pattern pattern = Pattern.compile(regex);
Matcher matcher = pattern.matcher(input);
while (matcher.find()) {
String match = matcher.group();
if (match.matches("\\d+")) {
System.out.println("整数:" + match);
} else if (match.matches("\\d+\\.\\d+")) {
System.out.println("实数:" + match);
} else {
System.out.println("非数字:" + match);
}
}
```
输出结果为:
```
整数:123
实数:45.678
非数字:abc
```
java给定一个非空字符串程序应该输出给定字符串的描述:整数,实数,不是数字。
如果给定的字符串可以被解析为整数,则输出"整数";如果可以被解析为实数,则输出"实数";如果不是数字,则输出"不是数字"。以下是示例代码:
public static void main(String[] args) {
String str = "123";
try {
Integer.parseInt(str);
System.out.println("整数");
} catch (NumberFormatException e) {
try {
Double.parseDouble(str);
System.out.println("实数");
} catch (NumberFormatException e1) {
System.out.println("不是数字");
}
}
}