如何返回所有浮点值;从java中的数组?
我只返回最后一个值,请帮我返回所有值如何返回所有浮点值;从java中的数组?,java,arrays,intellij-idea,return,Java,Arrays,Intellij Idea,Return,我只返回最后一个值,请帮我返回所有值 public static float[] generatePatientsTemperatures(int patientsCount) { float[] patientsTemperature = new float[patientsCount]; for (int i = 1; i < patientsCount; i++) { patientsTemperature[i] = Math.
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;
public static float[]生成患者温度(int patientsCount){
浮动[]患者温度=新浮动[患者计数];
for(int i=1;i
tl;dr
如果您询问为什么生成的数组的元素比预期少一个,这是因为您在for
循环中初始化了i
变量
➥ 将int i=1
更改为int i=0
数组不包含所有值
您正在返回所有值。这就是数组的作用:保存一系列值。您的代码成功地返回了一个充满float
基本值的数组
示例代码
我建议使用Math.random而不是Math.random
,因为它提供了一些简单方便的方法。如果你曾经做过多线程,它会让你成为未来的证明
您需要将i=1
更改为i=0
,以在结果中获得正确的元素数。也许这就是您的问题的意思,“为什么我在数组中获得的元素比预期少?”。您对i
的初始化可能是该问题的原因
public static float[]生成患者温度(最终整数患者计数)
{
浮动[]患者温度=新浮动[患者计数];
for(int i=0;i
请尝试该代码。若要将数组的所有值都视为文本,请调用实用程序方法Arrays.toString(yourArrayHere)
float[]temps=App.generatePaientStemperatures(3);
字符串输出=Arrays.toString(temps);
运行时:
输出=[35.5,37.100002,34.3]
通过基于零的计数访问数组中的每个元素:第一个元素为零,第二个元素为1,依此类推
float first=temps[0];
浮点秒=临时值[1];
第三浮点数=临时数字[2];
列表
使用列表
比使用数组更容易
List
仅保存对象引用,不允许使用基元值。Java具有自动装箱功能,可以自动将float
基元转换为float
对象。只需重新定义数组以保存float
,而不是float
提示:List.of
生成一个集合
public static ListgeneratePatientsTemperatures(最终int patientsCount)
{
浮动[]患者温度=新浮动[患者计数];
for(int i=0;iresults=List.of(患者温度);
返回结果;
}
一些代码来运行它
Listtemps=App.generatePartientstemperatures(3);
字符串输出=temps.toString();
产出=[32.8,43.600002,35.5]
您正在返回数组,这意味着您已经返回了所有值。也许您想打印这些值或对它们执行其他操作?您应该将i初始化为0,以便为数组的所有元素赋值。您正在重新计算数组,这怎么可能是最后一个值?它包含从1到PatientCount-1的所有值。谢谢太多了。我正在尝试另一种方法来获取整个数组,但它只给出最后一个值。如何显示所有值用另一种方法计算数组?@ArturKnyazev???我刚刚写了这个答案,向你展示了这一点。