java命名实体识别中的无限while循环
在这里,我的第一个while循环不能中断。它降低了j和val的值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
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;
}