这是我新的代码部分:
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
现在,我想从文件中读取这些数字,然后使用一个名为converter的方法将每个数字转换为Celcius。然后将每个新温度放入一个名为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;
}
}
但是当我打印时,它会以零为单位打印所有内容。我之前必须错过一行代码:
System.out.println(degreeMatrix[i][j]);
但是无法弄清楚什么是失踪的。谢谢你的帮助。
答案 0 :(得分:1)
您缺少的代码行是:
degreeMatrix[i][j] = tempVal;
您已将文件中的值读入tempVal
,这很好,但在打印值之前您没有将其存储在矩阵中:)
答案 1 :(得分:1)
你没有在矩阵中放任何东西,这就是它打印0的原因。 您可以按如下方式在矩阵中插入转换后的值:
int tempVal = inputFile.nextInt();
degreeMatrix[i][j] = converter(tempInDegrees);
请注意,方法名称应以Java中的小写字母开头。