非正整数 检验 java
时间: 2024-01-30 21:11:52 浏览: 26
以下是两种Java判断字符串是否为非正整数的方法:
1. 遍历字符串的每一个字符,判断是否为数字(非正整数的定义是不全为数字)。如果存在非数字字符,则返回false,否则返回true。
```java
private boolean isNonPositiveInteger(String s) {
for (int i = 0; i < s.length(); i++) {
char ch = s.charAt(i);
if (!(ch >= '0' && ch <= '9')) {
return false;
}
}
return true;
}
```
2. 使用正则表达式判断字符串是否全为数字。如果字符串不为空且不为空字符串,则使用正则表达式"^[0-9]*$"进行匹配,如果匹配成功则返回true,否则返回false。
```java
private boolean isNonPositiveInteger(String s) {
if (s != null && !"".equals(s.trim())) {
return s.matches("^[0-9]*$");
} else {
return false;
}
}
```
相关问题
正则匹配正整数 java
可以使用正则表达式 `[1-9]\d*` 来匹配正整数。其中,`[1-9]` 表示匹配 1-9 中的任意一个数字,`\d*` 表示匹配 0 个或多个数字。这个正则表达式可以匹配任何正整数,但不包括 0。例如,在 Java 中可以这样使用正则表达式:
```java
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Main {
public static void main(String[] args) {
String text = "123 0 456 -789";
Pattern pattern = Pattern.compile("[1-9]\\d*");
Matcher matcher = pattern.matcher(text);
while (matcher.find()) {
System.out.println(matcher.group());
}
}
}
```
这里使用 `java.util.regex.Pattern` 类和 `java.util.regex.Matcher` 类来进行正则表达式的匹配。`Matcher.find()` 方法可以查找所有匹配的字符串,`Matcher.group()` 方法可以返回匹配的字符串。运行上述代码,可以输出:
```
123
456
```
java生成随机正整数
你可以使用Java中的Random类来生成随机正整数,以下是一个示例代码:
```java
import java.util.Random;
public class RandomNumberGenerator {
public static void main(String[] args) {
Random random = new Random();
int randomNumber = random.nextInt(Integer.MAX_VALUE) + 1;
System.out.println("随机正整数: " + randomNumber);
}
}
```
在这个示例中,我们首先创建了一个Random对象。然后,我们使用nextInt()方法生成一个随机数。由于nextInt()方法生成的随机数是一个整数,因此我们需要将其限制在正整数的范围内。我们使用Integer.MAX_VALUE来获取最大的整数值,然后将其加上1,以确保我们生成的随机数是正整数。最后,我们将生成的随机数打印到控制台上。