0

これで私の最初のwhileループは壊れません。j と val の値を減らします

val = 69
val = 67 

この後壊れそうになるが壊れない

val = 69
val = 67 

何度も繰り返されます
NNP は品詞タグです
arr[]= はトークンのコレクションで
、J は arr のインデックスを示します
LName はデータベース フィールドを示し、最初の if ステートメントのトークンと一致する配列リストです

public String NER_Name_LName(String tokens)
{
    // System.out.println("Hello");
    ArrayList<String> LNames = dbconnection1.getTableContents("NER_LName");
    int l=NER_Name.j; 
    
    int val=(l+1), lm=0, p=0;
    String result="";
    String res[] = new String [20];
    
    for(int x=0;x<=(LNames.size()-1);x++)
    {
          //  System.out.println(LNames.size() + "Hello");
        
        if(tokens.equals(LNames.get(x)))
        {
             //System.out.println(NER_Name.arr[val] + val);
            //System.out.println(LNames.get(x) + "Hello");
            while("NNP".equals(NER_Name.arr[val]))
            {
             System.out.println(NER_Name.arr[val]+"lol" + val);
              
                NER_Name.j=NER_Name.j-2;
                val=val-2;
                System.out.println(val+ "after");
            }
           while("NNP".equals(NER_Name.arr[val]))
            {
                res[p]=NER_Name.arr[NER_Name.j];
                p++;
                NER_Name.j=NER_Name.j+2;
                
            }
            
            for (int o=0;o<=(p-1);o++)
            {
                result=result+" "+res[o];
            }
        }
    }  
    //System.out.println(result +"hello");
    return result;
}
4

1 に答える 1