Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/346.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
java命名实体识别中的无限while循环_Java_While Loop_Named_Named Entity Recognition - Fatal编程技术网

java命名实体识别中的无限while循环

java命名实体识别中的无限while循环,java,while-loop,named,named-entity-recognition,Java,While Loop,Named,Named Entity Recognition,在这里,我的第一个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("Hel

在这里,我的第一个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;
}
公共字符串名称(字符串标记)
{
//System.out.println(“你好”);
ArrayList LNames=dbconnection1.getTableContents(“NER_LName”);
int l=NER_Name.j;
int val=(l+1),lm=0,p=0;
字符串结果=”;
字符串res[]=新字符串[20];
对于(int x=0;x

考虑这段代码,比如说
“NNP”.equals(NER_Name.arr[val])=true
它进入您的循环,执行块,并作为
val
NER_Name.arr[val]
没有更改,它再次执行相同的块

您能提供示例输入和输出吗?还可以根据Java命名约定命名,请更正确地缩进您的代码!
 while("NNP".equals(NER_Name.arr[val]))
            {
                res[p]=NER_Name.arr[NER_Name.j];
                p++;
                NER_Name.j=NER_Name.j+2;

            }