gpt4 book ai didi

java - 数组打印不正确

转载 作者:行者123 更新时间:2023-12-02 06:27:32 24 4
gpt4 key购买 nike

我正在开发一个程序,在该程序中,我从文件中读取摄氏温度列表,将它们加载到数组中,并最终加载另一个数组,其中包含每个摄氏温度对应的华氏温度。

当尝试打印 fahrArray 时,而不是显示转换为华氏温度到摄氏度的实际温度,我得到了这个

[D@3d3b10b1>

这是我到目前为止的代码。

import java.util.Scanner;
import java.io.*;

public class BonusLab {
public static void main(String[] args) throws IOException {

createdBy();

double[] celArray = loadCelArray();

printArray(celArray);

double[] fahrArray = loadFahrArray(celArray);

} // end main

public static void createdBy() {
System.out.println("Program created by-Beth Tanner");
} // end createdBy

public static double[] loadCelArray() throws IOException {
Scanner fin = new Scanner(new File("weather.txt"));

int x = fin.nextInt();

double[] celArray= new double[x];

for(int i = 0; i < celArray.length; i++)
celArray[i] = fin.nextDouble();

return celArray;
} // end loadCelArray

public static void printArray(double[] celArray) {
for(int i = 0; i < celArray.length; i++)
System.out.print(celArray[i] + " ");
} // end printArray

public static double[] loadFahrArray(double[] celArray) throws IOException {
Scanner fin = new Scanner(new File("weather.txt"));

double celsius =

int x = fin.nextInt();

double[] fahrArray = new double[x];
for(int i = 0; i < fahrArray.length; i++)
fahrArray[i] = (9 / 5) * celsius + 32;

return fahrArray;
} // end loadFahrArray

} // end class

任何帮助或建议将不胜感激。

最佳答案

如果我理解你的代码正确,我认为你应该更改此代码

for(int i = 0; i < fahrArray.length; i++) 
fahrArray[i] = (9 / 5) * celsius + 32;

for(int i = 0; i < fahrArray.length; i++) 
fahrArray[i] = (9 / 5.0) * celArray[i] + 32;

您正尝试在未定义 i 的位置访问 celArray[i]。在 for 循环中 i 被定义并且应该位于相同的位置。

另一个解决方案是,您可以省略文件的第二次扫描,因为您已经加载了这些值。因此循环遍历 calArray 就足够了。

编辑:user3008950 现在提供了我写的第二种可能性。

关于java - 数组打印不正确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20387729/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com