从输入模式如下的Java字符串输入中提取正整数和负整数可以通过正则表达式来实现。以下是一个示例代码:
import java.util.ArrayList;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class NumberExtractor {
public static void main(String[] args) {
String input = "abc 123 def -456 ghi 789";
List<Integer> positiveIntegers = extractPositiveIntegers(input);
List<Integer> negativeIntegers = extractNegativeIntegers(input);
System.out.println("Positive Integers: " + positiveIntegers);
System.out.println("Negative Integers: " + negativeIntegers);
}
public static List<Integer> extractPositiveIntegers(String input) {
List<Integer> positiveIntegers = new ArrayList<>();
Pattern pattern = Pattern.compile("\\b\\d+\\b");
Matcher matcher = pattern.matcher(input);
while (matcher.find()) {
int number = Integer.parseInt(matcher.group());
if (number > 0) {
positiveIntegers.add(number);
}
}
return positiveIntegers;
}
public static List<Integer> extractNegativeIntegers(String input) {
List<Integer> negativeIntegers = new ArrayList<>();
Pattern pattern = Pattern.compile("-\\b\\d+\\b");
Matcher matcher = pattern.matcher(input);
while (matcher.find()) {
int number = Integer.parseInt(matcher.group());
negativeIntegers.add(number);
}
return negativeIntegers;
}
}
上述代码中,我们使用了正则表达式来匹配字符串中的正整数和负整数。extractPositiveIntegers
方法用于提取正整数,extractNegativeIntegers
方法用于提取负整数。通过使用Pattern
和Matcher
类,我们可以在字符串中找到匹配正则表达式的数字,并将其转换为整数存储在相应的列表中。
对于输入字符串"abc 123 def -456 ghi 789"
,上述代码将输出:
Positive Integers: [123, 789]
Negative Integers: [-456]
这样,我们就成功地从输入字符串中提取出了正整数和负整数。
请注意,以上代码仅为示例,实际应用中可能需要根据具体需求进行适当的修改和优化。
领取专属 10元无门槛券
手把手带您无忧上云