我只返回最后一个值,请帮我返回所有值
public static float[] generatePatientsTemperatures(int patientsCount) {
float[] patientsTemperature = new float[patientsCount];
for (int i = 1; i < patientsCount; i++) {
patientsTemperature[i] = Math.round(((float) (Math.random() * 8) + 32) * 100) / (float) 100.0;
}
return patientsTemperature;
1条答案
按热度按时间ghhkc1vu1#
热释光;博士
如果你问为什么你得到的数组比预期少了一个元素,那是因为你初始化了
i
在你的for
循环。➥ 改变
int i = 1
至int i = 0
.数组包含所有值
您正在返回所有值。数组就是这样做的:保存一系列值。您的代码成功返回一个充满
float
基本值。示例代码
我建议使用
ThreadLocalRandom
而不是Math.random
因为它提供了一些简单方便的方法。如果你做过多线程,它会让你成为未来的证明。你得换衣服
i = 1
至i = 0
以获得结果中正确的元素数。也许这就是你的问题所要问的,“为什么我得到的数组元素比预期的少?”。您的初始化i
会导致这个问题。试试那个密码。要以文本形式查看数组的所有值,请调用utility方法
Arrays.toString( yourArrayHere )
.运行时:
输出=[35.5,37.100002,34.3]
通过基于零的计数访问数组中的每个元素:第一个元素为零,第二个元素为1,依此类推。
列表
使用
List
比数组简单。List
仅保存对象引用,不允许使用基元值。java有一个自动装箱功能,可以自动打开float
将原语转换为Float
物体。只要重新定义你的阵型Float
而不是float
.提示:
List.of
生成不可修改的集合。一些代码来运行它。
输出=[32.8,43.600002,35.5]