java输出浮点数_Java实现自动生成一组浮点数并输出

本文介绍了一个Java程序,用于生成50个0到10之间的浮点数并进行统计分析。通过Random类的nextFloat()方法生成浮点数,并将它们存储在数组中。接着,对生成的浮点数按0-1, 1-2, 2-3, 3-4, 4-5的区间进行计数,输出每个区间的数量,展示了浮点数分布的均匀性。" 118694630,9526864,B-spline曲线详解与OpenGL绘制,"['图形学', '计算机图形学', 'Bezier曲线', 'B-spline曲线', 'OpenGL编程']

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

程序生成一组浮点数存入数组中并输出:

代码如下:

public static void

printFloat(float[] arr) {

float array[] = new float[50];

Random r = new Random();

for (int i = 0; i < 50; i++) {

double d = r.nextDouble() * 500;// 保证0-10之间的数

float x = ((int) d) / 100f;// 去掉两位 小数后面的值

array[i] = x;// 存入数组

}

for (int i = 0; i < array.length; i++) {

System.out.print(array[i] + " ");

}

随机Random类:查看了java API  找出Random随机生成一组浮点数的方法

nextFloat

public float nextFloat()

返回下一个伪随机数,它是取自此随机数生成器序列的、在 0.0 和 1.0 之间均匀分布的 float

值。

nextFloat 的常规协定是,伪随机地生成并返回一个从 0.0f(包括)到

1.0f(包括)范围内均匀选择(大致)的 float 值。所有可能的 224 个 float 值(其形式为

m x2-24,其中

m 是一个小于 224 的正整数)的生成概率(大致)相同。

Random 类按如下方式实现 nextFloat 方法:

public float nextFloat() {

return next(24) / ((float)(1 << 24));

}

前面的描述中使用了不确定的词“大致”,因为 next

方法只是一个大致上独立选择位的无偏源。如果它是一个随机选择位的最佳来源,那么给出的算法应该从规定范围完全一致地选择 float

值。

[在 Java 的早期版本中,结果被错误地计算为:

return next(30) / ((float)(1

<< 30));

这可能看似等效(如果不是更好的话),但实际上由于浮点数舍入中的偏差,它会导致轻微的不均匀性:有效数的低位更可能是 0 而不是

1。]

返回:

下一个伪随机数,它是取自此随机数生成器序列的、在 0.0 和 1.0 之间均匀分布的 float

找出区间输出每桶中的数据:

int sum1 = 0, sum2 = 0, sum3 = 0, sum0 = 0,

sum4 = 0;

for (int i = 0; i < array.length; i++) {

// System.out.print(array[i]);

if (array[i] > 0 && array[i] <= 1) {

sum0 += 1;

} else if (array[i] > 1 && array[i] <=

2) {

sum1 += 1;

} else if (array[i] > 2 && array[i] <=

3) {

sum2 += 1;

} else if (array[i] > 3 && array[i]

<= 4) {

sum3 += 1;

} else {

sum4 += 1;

}

}

System.out.print("sum0=" + sum0 + ":");

System.out.print("sum1=" + sum1 + ":");

System.out.print("sum2=" + sum2 + ":");

System.out.print("sum3=" + sum3 + ":");

System.out.print("sum4=" + sum4);

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值