0

もちろん、ファイルから入力を読み取り、何らかの処理後に別のファイルに書き込むコードを書いています。さて、私の入力ファイルは、

4
0 1
0 2
0
0 3
3
0
0
0
E

私がする必要があるのは、左側の要素を最初の列の配列にコピーし、右側の要素を2番目の列にコピーすることです。スキャナーを使用しましたが、行末を認識しません。助けて!!!!これは私が試したものです。行をコピーしてから変更してみました。

for (i = 0; i < size; i++) {
    if (!f1.hasNext(endPage)) {
        String temp1 = f1.next();

        String temp2 = f1.next();

        int a[] = new int[4];
        a[0] = (int) temp1.charAt(temp1.length() - 1);
        a[1] = (int) temp2.charAt(temp1.length() - 1);
        a[2] = (int) temp1.charAt(temp1.length() - 2);
        a[3] = (int) temp1.charAt(temp1.length() - 2);
        scales[i].weightOnLeft = a[0];
        scales[i].weightOnRight = a[1];
        scales[i].left = scales[a[2]];
        scales[i].right = scales[a[3]];

    }
}
4

3 に答える 3

0

この方法を試してください:

Scanner input = new Scanner(new File("..."));
while(input.hasNextLine())
{
   String data = input.nextLine();
}
于 2013-10-08T09:41:04.077 に答える
0

以下のようにしてみてください: - 最初の列では配列 [0] に格納され、2 番目の列の値は配列 [1] に格納されます。また、2 番目の列については、以下に示すように条件を確認する必要があります。従ってください:-

    File file=new File("/Users/home/Desktop/a.txt");
    String[] aa=new String[2];
    try {
        Scanner sc=new Scanner(file);

        while (sc.hasNextLine()) 
        {
            String ss=sc.nextLine();
            aa=ss.split("\\s");
//it will store left column value in this index
            System.out.println("aa[0]"+aa[0]);
            if(aa.length>1) 
            {
//it will store right column value in this index
            System.out.println("aa[1]"+aa[1]);
            }

        }
    }
于 2013-10-10T14:52:44.990 に答える