-6

私は専門家ではなく、ただの初心者です。ですから、私のためにいくつかのコードを書いてください。

私は4つのArrayListsを持っています-> error_list_A, list_A, error_list_B, list_BJavaで。これらのリストにオブジェクトを追加する独立したプログラムが実行されています。

それらを1分間または空になるまで読み取ってから次のプログラムに進む別のプログラムを作成する必要があります。このプログラムは常に実行モードで、これらのリストをリッスンして処理する必要があります。

何かのようなもの..

  1. error_list_Aその要素を読み取って処理します。

    要素がない場合は、list_A

    要素が要素を読み取り、すべてが処理されるか、1 分の制限時間に達するまで要素を削除する場合は、次の手順に進みます。list_A

  2. list_Aその要素を読み取って処理します。

    要素がない場合は、error_list_B

    要素が要素を読み取り、すべてが処理されるか、1 分の制限時間に達するまで要素を削除する場合は、次の手順に進みます。error_list_B

  3. error_list_Bその要素を読み取って処理します。

    要素がない場合は、list_B

    要素が要素を読み取り、すべてが処理されるか、1 分の制限時間に達するまで要素を削除する場合は、次の手順に進みます。list_B

  4. list_Bその要素を読み取って処理します。

    要素がない場合は、に移動しerror_list_Aます (に新しい要素があるかどうかを確認するためにループバックしますerror_list_A)

    要素が要素を読み取り、すべてが処理されるか、1 分の制限時間に達するまで要素を削除した場合は、error_list_A(ループに戻って に新しい要素があるかどうかを確認しますerror_list_A)

  5. ステップ 1 に戻ります。

サンプルコードを投稿していただけますか?

それらを読んで処理する方法を知っているので、その部分は無視してください。リストを切り替えてループ内で読み続けるためのコードが必要なだけです。

宿題ではありません。実際のプログラムでは、Web アプリケーションからエラーを格納しているディレクトリを読み取ることでこれを実装する必要があります。ですから、宿題を手伝っていると言って無視しないでください。

私はこのようなものを試しました..

public class ListReader {

    private static List<Object> list_A, error_list_A, list_B, error_list_B; // Initialize list by reading them.

    public static void main(String[] args) {
        while (true) {
            if (error_list_A != null && error_list_A.size() > 0) {
                processList(error_list_A);
            } else if (list_A != null && list_A.size() > 0) {
                processList(list_A);
            } else if (list_B != null && list_B.size() > 0) {
                processList(list_B);
            } else if (error_list_B != null && error_list_B.size() > 0) {
                processList(error_list_B);
            }
        }
    }

    private static void processList(List<Object> list){
        // Code for when empty or time limit reached then return
    }

}

しかし、意味がないようです。

ありがとうございました。

4

1 に答える 1

3

自分でコードを書くことをお勧めします。そうするだけで、言語を学ぶことができます。コンピュータ サイエンスで最も難しい問題は、問題に最適なアルゴリズムを見つけることです。アルゴリズムが手元にあれば、実装は簡単です。

そのため、アルゴリズムをコーディングしてください。その中でエラーや問題に直面している場合は、ここに投稿してください。

アップデート

 if (error_list_A != null && error_list_A.size() > 0) {
                processList(error_list_A);
            }
if (list_A != null && list_A.size() > 0) {
                processList(list_A);
            }
if (list_B != null && list_B.size() > 0) {
                processList(list_B);
            }
if (error_list_B != null && error_list_B.size() > 0) {
                processList(error_list_B);
            }

processList 関数では、タイマーを開始し、リストから各要素の処理を開始します。各要素を処理する前に、タイマーを確認します。1 分を超える場合は関数から戻ることができます。それ以外の場合は続行します。リストの最後に到達するまでこれを続けます。 .時間が1分を超えていない場合は、戻ります。

于 2012-12-18T17:31:22.420 に答える