Java 需要判断8次一个字符串是否包含某些字符,可能用8次if 怎么简写
时间: 2024-03-05 13:48:01 浏览: 18
可以使用正则表达式来简化代码,如下所示:
```java
String str = "hello world";
if(str.matches(".*[aeiou].*")) {
System.out.println("包含元音字母");
}
```
这里使用了 `matches()` 方法和正则表达式 `.*[aeiou].*`,表示字符串中包含任意个字符,后跟一个元音字母,再后跟任意个字符。如果字符串中包含元音字母,则输出“包含元音字母”。可以根据实际需要修改正则表达式来判断字符串是否包含某些字符。
相关问题
Java 需要判断8次一个字符串是否包含某些字符,并且如果包含 需要对一个List 进行赋值,可能用8次if 怎么简写
可以使用循环和正则表达式来简化代码,如下所示:
```java
String str = "hello world";
List<String> list = new ArrayList<>();
for (char c : new char[]{'a', 'e', 'i', 'o', 'u', 'H', 'W', 'D'}) {
if (str.matches(".*" + c + ".*")) {
list.add(String.valueOf(c));
}
}
System.out.println(list);
```
这里使用了循环遍历要判断的字符集合,然后使用正则表达式判断字符串是否包含该字符,如果包含则将该字符添加到 List 中。最后输出 List。这样就可以避免重复的 if 判断,代码更加简洁。
java 简写形式的if判断
Java 中可以使用三目运算符 `? :` 来简写 if 判断语句。例如,下面的代码使用 if 判断语句来判断一个数是否为正数:
```
int num = -1;
if (num > 0) {
System.out.println("这是一个正数");
} else {
System.out.println("这不是一个正数");
}
```
可以使用三目运算符来简写成:
```
int num = -1;
String msg = num > 0 ? "这是一个正数" : "这不是一个正数";
System.out.println(msg);
```
其中 `num > 0 ? "这是一个正数" : "这不是一个正数"` 表示如果 `num > 0` 成立,则返回字符串 `"这是一个正数"`,否则返回字符串 `"这不是一个正数"`。