gpt4 book ai didi

java - 捕获以前的错误

转载 作者:行者123 更新时间:2023-11-30 06:31:56 25 4
gpt4 key购买 nike

我正在对文本文件进行自定义验证。这是第一次对整个文件进行验证。如果有错误,则显示在另一个 JTextArea 中。之后,仅对可见的部分进行验证。我的问题是我无法存储以前的错误并结合当前的错误来显示。例如,第一次,我得到错误第 1 行、第 5 行、第 6 行、第 100 行、第 500 行。从下一次开始,可见部分将为 1-50 行,验证将仅针对 1-50 行进行,因此 100 和 500 的错误将消失。我通过将以前的错误存储在临时变量中进行了尝试,下一个问题是,现在以前的错误将变为仅 1-50,有人可以告诉我该怎么做吗?。

我试过的代码,

      private void displayError() {
errorText.setText(null);
String err = null;
try{
//tempErrors
if(!prevErrors.isEmpty()){
for(int i=0; i< prevErrors.size(); i++){
err = prevErrors.get(i).toString();
if(!errors.contains(err)){
errors.add(prevErrors.get(i).toString());
}
}
}
}
catch(Exception ex){
System.out.println(ex);
}

Iterator it = errors.iterator();
while(it.hasNext()){
errorText.append(it.next() + "\n");
}

prevErrors = new ArrayList();
for(int i=0; i< errors.size(); i++){
prevErrors.add(errors.get(i).toString());
}
}

最佳答案

使用 TreeMap 可以更简单地解决您的问题:

  1. 创建一个 TreeMap<Integer, String> 并称之为errors . (key为行号,value为错误信息)
  2. 解析文件一次并填写errors -映射发现的错误(和行)

当文件的一部分可见时,您可以使用 subMap 获取该部分错误的方法:

SortedMap<Integer, String> visibleErrors = errors.subMap(fromLine, toLine + 1); 

关于java - 捕获以前的错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9285081/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com