Java生成随机小数点
时间: 2024-02-23 22:11:17 浏览: 24
可以使用Java的Math.random()方法来生成随机小数。该方法返回0.0到1.0之间的一个随机小数(包括0.0,不包括1.0)。下面是一个示例代码:
```
double randomNum = Math.random();
System.out.println(randomNum);
```
如果需要生成指定范围内的随机小数,可以使用以下代码:
```
double min = 0.0; //最小值
double max = 1.0; //最大值
double randomNum = min + Math.random() * (max - min);
System.out.println(randomNum);
```
这将生成0.0到1.0之间的一个随机小数。如果需要生成其他范围内的随机小数,只需调整最小值和最大值即可。
相关问题
java 随机生成1到100的小数
Java中可以使用Math.Random()方法来生成随机小数,其返回值为0.0到1.0之间的一个double类型的小数。要生成1到100之间的小数,我们需要将生成的随机小数乘以100,并加上1(因为Math.Random()方法生成的小数值域是[0, 1))。
具体的代码实现如下:
```java
double randomNum = Math.random() * 100 + 1;
System.out.println(randomNum);
```
这样就可以生成1到100之间的随机小数了。对于需要保留小数点后几位的情况,可以使用DecimalFormat类来进行格式化输出。例如,如果需要保留两位小数,代码如下:
```java
double randomNum = Math.random() * 100 + 1;
DecimalFormat df = new DecimalFormat("#.##"); // 保留两位小数
System.out.println(df.format(randomNum));
```
这样就可以在控制台上输出一个1到100间的随机小数,并且保留两位小数。
Java求π并行实现,并求出小数点后一千位
在上述代码的基础上,我们可以使用BigDecimal类来精确计算π的值,并求出小数点后一千位,代码如下:
```java
import java.math.BigDecimal;
import java.util.concurrent.ThreadLocalRandom;
import java.util.stream.*;
public class PiParallel {
public static void main(String[] args) {
long numThrows = 100000000;
// 使用并行流生成随机点,并统计落在圆内的点数
long inCircle = LongStream.range(0, numThrows)
.parallel()
.filter(i -> {
double x = ThreadLocalRandom.current().nextDouble();
double y = ThreadLocalRandom.current().nextDouble();
return x * x + y * y <= 1;
})
.count();
// 计算 π 的值,并保留小数点后一千位
BigDecimal pi = BigDecimal.valueOf(4.0 * inCircle / numThrows)
.setScale(1000, BigDecimal.ROUND_HALF_UP);
System.out.println("π ≈ " + pi);
}
}
```
在上述代码中,使用了BigDecimal类来精确计算π的值,并利用setScale()方法设置小数点后的位数。需要注意的是,setScale()方法的第二个参数需传入BigDecimal.ROUND_HALF_UP,表示使用四舍五入的方式进行取舍。