随机返回结果为总概率20% 并返回boolean 类型,用java8中的Lamda表达式编写
时间: 2024-10-18 11:23:59 浏览: 13
在Java 8中,你可以使用`Random`类和`Math.random()`函数结合Lambda表达式来创建一个随机返回布尔值的方法,其概率为20%(即0.2)。下面是一个简单的示例:
```java
import java.util.Random;
public class Main {
public static void main(String[] args) {
Random random = new Random();
boolean result = () -> random.nextDouble() < 0.2; // 使用lambda表达式生成随机数并判断是否小于0.2
System.out.println(result); // 输出随机的结果
}
}
```
在这个例子中,`random.nextDouble()`会生成一个[0, 1)范围内的随机浮点数,然后通过 `<` 运算符判断这个数是否小于0.2。如果小于0.2,则返回`true`,否则返回`false`。由于0到0.2的概率大约占总概率的20%,所以这满足了需求。
相关问题
Math.random() 随机返回结果为20% 并返回true或者false,用java8中的Lamda表达式
在Java 8中,你可以使用`Math.random()`函数配合Lambda表达式来实现这个需求。`Math.random()`会生成一个0到1之间的随机浮点数,我们可以通过比较这个值与0.2来进行判断。如果随机数小于0.2,则返回`true`,否则返回`false`。以下是使用Lambda表达式的示例:
```java
import java.util.function.BiFunction;
import java.util.Random;
public class Main {
public static void main(String[] args) {
// 创建一个BiFunction供后续操作
BiFunction<Double, Double, Boolean> getRandomWithProbability = (randomNum, probability) -> randomNum < probability;
// 使用Math.random()获取随机数,并应用Lambda表达式
double randomNumber = Math.random();
boolean result = getRandomWithProbability.apply(randomNumber, 0.2);
System.out.println(result); // 输出 true 或 false
}
}
```
在这个例子中,`getRandomWithProbability`是一个接受两个double参数并返回boolean结果的函数,它通过Lambda表达式实现了所需的条件判断。
java中boolean类型读取内容转表达式
在Java中,`boolean` 类型是用来表示真值或假值的原始数据类型。通常情况下,我们直接使用 `boolean` 类型的变量或比较表达式的结果来进行逻辑判断,比如 `if` 语句或循环控制。
如果你想要将读取的字符串内容转换为 `boolean` 类型的表达式,可以使用 `Boolean` 类的 `parseBoolean` 方法。这个方法接受一个字符串参数,并将其转换为相应的布尔值。如果字符串参数为 "true"(不区分大小写),则返回 `true`;如果字符串参数为 "false"(同样不区分大小写),则返回 `false`。任何其他字符串都会导致抛出一个 `IllegalArgumentException`。
下面是一个简单的例子,演示了如何将读取的字符串内容转换为布尔表达式:
```java
String input = "TRUE"; // 假设这是从某个地方读取到的字符串
boolean result = Boolean.parseBoolean(input);
// result 的值将会是 true
```
转换时需要注意,如果输入的字符串不是 "true" 或 "false",`parseBoolean` 方法会抛出异常,因此在实际应用中可能需要加入异常处理机制。
阅读全文