0

以下のコメントを確認してください。

使っていた...

Scanner input = new Scanner("rates.txt");

使っているはず...

Scanner input = new Scanner(new File("rates.txt"));
4

3 に答える 3

0

String を Scanner コンストラクターに渡すと、入力が String 自体から来ることを伝えます。File オブジェクトまたは同等のものを使用する必要があります。これは:

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

public class TestFile
{
    public static void main(String[] args)
    {
        Scanner input = null;

        try
        {
            input = new Scanner(new File("rates.txt"));

        }
        catch (IOException ioe)
        {
           ioe.printStackTrace();

        }

        int numRows    = 7;
        int numColumns = 7;

        Double[][] ratesArray = new Double[numRows][numColumns];

        while(input.hasNext())
        {
            for(int i = 0; i < ratesArray.length; i++)
            {
                for(int j = 0; j < ratesArray[i].length; j++)
                {
                    ratesArray[i][j] = input.nextDouble();
                    System.out.print(ratesArray[i][j] + "\t");

                } // for j

                System.out.print("\n");

            } // for i

        } // while

        input.close();

    } // main()

} // class TestFile
于 2014-02-20T06:28:53.243 に答える
0

以下のように変更します: あなたのコードで

       Scanner input = new Scanner("rates.txt");

次のようにする必要があります。

       Scanner input = new Scanner(new File("rates.txt"));

try-catch内に保持するか、main メソッドにthrows Exceptionを追加します。

ファイルが見つからない場合は、ファイルのフル パスも指定します。

于 2014-02-20T06:20:37.313 に答える
0

スキャナーの代わりにリーダーを使用してください。

BufferedReader br = new BufferedReader(new FileReader("rates.txt"));
String line;
while ((line = br.readLine()) != null) {
    // parse line here . . .
}
于 2014-02-20T06:26:31.163 に答える