0

次のように設定されたファイルがあります。

10   10
12   32
38   12

ある配列の偶数スロットに線を配置し、別の配列の奇数スロットに線を配置する必要があります。私はJavaが初めてで、これを行う方法がわかりません。私は何時間もインターネットを検索してきましたが、何も見つかりませんでした。私を助けてください!本当に感謝します!

Buffered Reader を使用してファイルを読み込んでいます。ファイルを読み込んですべての行を配列に入れるプログラムを既に作成しましたが、行を区切るためのコーディング方法を知る必要があります。したがって、行 1、3、5、7、9 は 1 つの配列にあり、行 2、4、6、8 は別の配列になります。

それらを1つの配列に入れるためのコード:

 private static final String FILE = "file.txt";
    private static Point[] points;


    public static void main(final String[] args){
        try{
            final BufferedReader br = new BufferedReader(new FileReader(new File(FILE)));
            points = new Point[Integer.parseInt(br.readLine())];
            int i = 0;
            int xMax = 0;
            int yMax = 0;
            while(br.ready()){
                final String[] split = br.readLine().split("\t");
                final int x = Integer.parseInt(split[0]);
                final int y = Integer.parseInt(split[1]);
                xMax = Math.max(x, xMax);
                yMax = Math.max(y, yMax);
                points[i++] = new Point(x, y);




            }
4

2 に答える 2

1
String[] even = new String[100];
String[] odd = new String[100];
int counter = 0;
String text;

while(text=readLine() != null) {
    if(counter%2 == 0) {
         even[counter/2] = text;
    } else {
         odd[(counter-1)/2] = text;
    }

     counter++;
}

ファイルの行数に応じて、配列のサイズを調整する必要があります。

コードは何をしますか:ループは行を読み続けます。counter%2 == 0は、counterが偶数の場合に真になります。counterが偶数の場合、counter / 2は余りのない整数になるため、何も失われません。カウンターが奇数の場合、(counter-1)/2についても同じことが言えます。

于 2013-02-02T04:25:23.100 に答える