0

タイトルより複雑です。ループを使用してファイルに書き込み、次に Scanner クラスと File クラスを使用してファイルを読み取ります。その後、クラスが読み取ったデータを配列に格納します。その後、ユーザーは削除する配列内のエントリの 1 つを選択します。

配列とすべてを宣言する方法は知っていますが、ファイルの情報を配列に格納する方法と、1 つのエントリ (L102 など) の削除に行き詰まっています。コードは次のとおりです。コードを実行した後、PS をお願いします。 、Pats ファイルを C: ディレクトリにコピーします。

package lecture;
import java.util.Scanner;
import java.io.*;
import java.text.DecimalFormat;

public class Lecture{

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

    PrintWriter f0 = new PrintWriter(new FileWriter("Pats.txt"));
    int n=0;

    while(n<15)
        {

        int L=1;
        n++;
        f0.print("L"+L+"0"+n+"  ");
        System.out.println("L"+L +" "+n);

        L=L+1;
        f0.print("L"+L+"0"+n+"  ");
        System.out.println("L"+L +" "+n);

        L=L+1;
        f0.print("L"+L+"0"+n+"  ");
        System.out.println("L"+L +" "+n);

        }

        File Plots = new File("C:\\Pats.txt");
        Scanner ReadFile = new Scanner(Plots);
            while(ReadFile.hasNext())
            {

                String str = ReadFile.nextLine();
                System.out.println(str);

            }
         ReadFile.close();



f0.close();
}
}
4

2 に答える 2

0

あなたの考え方が最適かどうかはわかりませんが、whileループ内では、次のようなものを使用できます。

while(ReadFile.hasNext())
{

     String str = ReadFile.nextLine();
     System.out.println(str);
     lines.add(str);
}

wherelinesArrayListループの外側で宣言されています。

これから削除するには、ユーザーに を選択してもらい、indexを実行するlines.remove(index)か、ユーザーに を選択してStringもらうだけで、その場合は を実行できますlines.remove(string)

于 2013-11-05T08:46:33.403 に答える