使用扫描仪将浮点数从.txt读取到浮点矩阵

时间:2017-09-09 00:19:49

标签: java file matrix

我只是在一个非常简单的练习上,我在代码中找不到错误。

我有一个看起来像这样的文本文件:

  

3

     

230.24415 134.34523 166.47234

     

192.02849 138.28403 294.12875

     

198.97356 256.49284 140.41526

第一个(整数)数字表示矩阵维度,在这种情况下是3x3,以下值是5个小数位的浮点数,由空格和新行分隔,必须按矩阵顺序设置和他们一起经营这是本练习的主要问题。

以下是代码:

isSelectedLength.setVisible(option.equals("length"));
isSelectedWeight.setVisible(option.equals("weight"));
isSelectedTemp.setVisible(option.equals("temp"));
isSelectedArea.setVisible(option.equals("area"));
isSelectedTime.setVisible(option.equals("time"));

我确定错误是围绕我的评论通知错误,因为它似乎无法识别我的.txt的浮点数。事实上,如果我将整数放在我的.txt文件上,它几乎可以工作!!

它只打印“矩阵的尺寸= 3x3”,但随后打印“Message catch:null”,它甚至不打印填充的矩阵。

谢谢大家,感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

if(s.hasNextLine()) {
    for(int r=0; r< m; r++){
        for(int c=0; c< m; c++){
            value = s.nextFloat(); //PROBABLY HERE'S THE MISTAKE!!!!!
            mat[r][c] = value;  //set value on the current cell of the array
        }            

此时您已经读取了该行上的所有三个( N )浮点数,因此您需要s.nextLine()这里前进到下一行。

    }
}