将该方法调用到矩阵中会产生 0 而不是正确的温度

calling the method into matrix yields 0 instead of correct temps

这是我的新代码部分:

for (int i = 0; i < 2; i++) {
        for (int j = 0; j < 2; j++) {
            double tempVal = inputFile.nextDouble();
           degreeMatrix[i][j] = converter(tempVal);

            System.out.println(degreeMatrix[i][j]);

好的,所以我创建了一个名为 inMatrix.txt 的文件。在这个文件中说我有一个 4 数字,它是华氏温度的临时值,例如: 12 11 40 19

现在,我想从文件中读取这些数字,然后使用一种称为转换器的方法将每个数字转换为摄氏度。然后将每个新温度放入一个名为 degreeMatrix 的 2x2 矩阵中,我将逐行填充它。然后在处理完每个数字后,将使用 for 循环从 degreeMatrix 中打印出每个新温度。

这是我的代码:

import java.util.Scanner;
import java.io.File;
import java.io.IOException;


public class TempConversion {

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

    File matrixFile = new File("inMatrix.txt");
    Scanner inputFile = new Scanner(matrixFile);
    double [][] degreeMatrix = new double[2][2];




    for (int i = 0; i < 2; i++) {
        for (int j = 0; j < 2; j++) {
            double tempVal = inputFile.nextInt();


            System.out.println(degreeMatrix[i][j]);



        //System.out.println(degreeMatrix); 
    }

    }
}

public static double converter(double temp2){

    double tempC = 0.0;

    tempC = (temp2-32.0)*(5.0/9.0);

    System.out.println(tempC);

    return tempC;

   }
}

但是当我打印时,它打印的所有内容都是零。我一定是在 main 之前遗漏了一行代码:

System.out.println(degreeMatrix[i][j]); 

但无法弄清楚缺少什么。谢谢你的帮助。

您缺少的代码行是这样的:

    degreeMatrix[i][j] = tempVal;

您已将文件中的值读入 tempVal,这很好,但是在打印值之前您没有将其存储在矩阵中 :)

您没有在矩阵中放入任何东西,这就是它打印 0 的原因。 您可以按如下方式在矩阵中插入转换后的值:

int tempVal = inputFile.nextInt();
degreeMatrix[i][j] = converter(tempInDegrees);

注意Java.

方法名要以小写字母开头