带有循环和阅读列表的Java



我不是专家,只是初学者。所以我恳请你为我写一些代码。

我在java中有四个ArrayLists->error_list_A, list_A, error_list_B, list_B。有一个独立运行的程序,它将对象添加到这些列表中。

我需要写一个单独的程序,读取它们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. 读取CCD_ 11并处理其元素。

    如果没有元素,则转到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
}
}

但似乎没有意义。

谢谢。

我建议您自己编写代码。只有这样,你才能学习语言。计算机科学中最困难的问题是为一个问题找到最佳算法。如果你手头有一个算法,实现起来很容易。

因此,请对算法进行编码,如果您在其中遇到一些错误或问题,请在此处发布。

更新

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分钟,请返回。

最新更新