私は自分のクラスにテキストファイルを読み込んでいます。 if条件が満たされたときに特定のarrayListに追加したいと思います。現時点では、arrayListは上書きされ続け、私は理由を知らない。arrayListに追加する複数のif文java
呼び出し元のクラス:
public String PatternPDF (String s) throws IOException, ClassNotFoundException {
ArrayList<String>arr=new ArrayList<String>();
for (String line : Files.readAllLines(Paths.get("Fields2Extract.txt"))){
//System.out.println(line);
arr.add(line);
}
for (String pattern:arr){
OrganisePDF(pattern,s);
}
return pattern;
}
ArrayListクラス
public void OrganisePDF (String pattern,String s) {
ArrayList<String> Chicago =new ArrayList<String>();
Pattern patternorganise = Pattern.compile(pattern);
Matcher matcherpatternorganise_pattern = patternorganise.matcher(s);
String h="";
while (matcherpatternorganise_pattern.find()){
h=matcherpatternorganise_pattern.group(0);
all.add(h);
}
for (String n:all){
if(n.contains("something good")||n.contains("a load of buses")){
n=n.replaceAll("\\n", "").trim();
Chicago.add(n);
}
}
System.out.prinln("Chicago"+Chicago);
}
私は
Chicago[something good,a load of buses]
ために望んでいるのに対してこれは私に
Chicago[something good]
Chicago[a load of buses]
を与えるここでは、コードです
これは大きなコードの断片であり、ループの種類であり、ここにはプロブラム –
コードを再現するのに必要な情報を入力してください。上のコードでは2行を生成して印刷することは不可能です。 Jacekが述べたように、これはループでネストされているため、シカゴが再初期化されているようです。 –
以下のコメントを参照してください。ジェシックは答えとして主張する? –