如何返回所有浮点值​;从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???我刚刚写了这个答案,向你展示了这一点。