0

私は Java を初めて使用し、ファイルから入力を取得して配列の特定の部分に挿入し、そのデータをエクスポートするプログラムを設計するように割り当てられています。ファイルを文字列配列に読み込むコードがあります。

2 つの質問:

1.) 空白のデータが続く番号付きリストを作成するループを作成するにはどうすればよいですか? (以下のコード スニペットを参照してください) 次のようなリストを作成しようとしています。

1 0000 0000 00000 ...
2 0000 0000 00000 ...

以下のループに問題はありますか?

for (int x = 0; x < array.length; x++) {
        array[x] = Integer.toString(y);
        y++;
            while (x < 16) {
            x++;
            array[x] = "00000";
            }
    }

2.) 1 つのメソッドを使用して 2 つの配列値を返すことはできますか? 2 つの配列を埋めてから、それらの値を返して他のメソッドで使用したいと考えています。使用できる方法を見つけましたが、それを適切に実装する方法がわかりません。私は以下のコードスニペットを持っています:

    public static Object[] rtrStr() {
    //...blah blah
    return new Object[]{array1, array2};}
4

2 に答える 2

0

2)必要に応じて、配列(またはList)の配列を返すことができます。

public static String[][] rtrStr() {
    // ...blah blah
    String[][] arr = new String[][2]; // syntax might not be exactly correct

    arr[0] = array1;
    arr[1] = array2;
}

注:注記された行の正確な構文についてはわかりませんが、考え方は正しいです。List個人的には、代わりに使用したいと思います。

そうは言っても、各配列のデータの意味を考慮する必要があります。配列をラップし、セマンティクスを明確にするカスタムクラスを作成することは理にかなっているかもしれません。これにより、要素が新しいカスタムクラスのオブジェクトになるため、任意のメソッドから配列またはリストを簡単に返すことができます。

于 2013-01-14T00:15:29.170 に答える
0

以下のループに問題はありますか?

はい、複数: あなたのコードは、私が悪いコードと呼ぶものです。たとえそれがあなたが望むことをしたとしても (そして、私はそれを確信していません)、そのような単純なタスクを理解することは非常に困難です.

  1. xandyをカウンター変数名として使用しています。複数のカウンターが関係している場合は、そうしないでください。どのカウンターが何をカウントしているのかを正確に理解するのは困難です。
  2. 内側のループが外側のループのカウンター変数をいじっています。それが仕様によるものである場合は、決してこれを行わないでください。コードを理解するのが非常に難しくなります。

また、出力例のように配列がテーブル (行と列) のようなものを保持する必要がある場合は、2 次元配列が必要になります。


1 つのメソッドを使用して 2 つの配列値を返すことはできますか?

はい、なぜですか?実際には、2 つの値を持つ 1 つの配列を返します。ただし、1 つのメソッドから2 つの配列を返すことはできません。

于 2013-01-14T00:26:55.577 に答える