Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/2.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
Processing 距离编辑阵列输出_Processing_Levenshtein Distance_Edit Distance - Fatal编程技术网

Processing 距离编辑阵列输出

Processing 距离编辑阵列输出,processing,levenshtein-distance,edit-distance,Processing,Levenshtein Distance,Edit Distance,我正在使用用户输入编辑距离。我正在数组中存储我的值。然后编辑距离将用户输入与我的字符串数组进行比较。我正在做一个循环,如果编辑距离大于2,它将显示无效或有效 我唯一的问题是,尽管程序运行良好,但输出是数组中所有“28”字符串的结果。我只想显示一次无效或有效 Test是我的字符串数组,user是-String user-用户输入 void testingLD() { 对于(int i=0;i 2) { println(“无效的重新输入”); } 其他的 { println(“有效”); } } }

我正在使用用户输入编辑距离。我正在数组中存储我的值。然后编辑距离将用户输入与我的字符串数组进行比较。我正在做一个循环,如果编辑距离大于2,它将显示无效或有效

我唯一的问题是,尽管程序运行良好,但输出是数组中所有“28”字符串的结果。我只想显示一次无效或有效

Test是我的字符串数组,user是-String user-用户输入

void testingLD()
{
对于(int i=0;i 2)
{
println(“无效的重新输入”);
}
其他的
{
println(“有效”);
}
}
}

循环中有打印行函数,因此每次迭代打印一次

试试这个

void testingLD()
{
  boolean isValid = true; // assume true, check each and update

  // begin loop
  for (int i=0; i<test.length; i++)
  {
      if(getLevenshteinDistance(test[i],user) > 2)
      {
        isValid = false;
        break; // don't need to test the rest of the loop if we already found a false
      }
  }
  // end loop

  if(isValid){
    println("Valid");
  }else{
    println("Invalid re-input");
  }
}
void testingLD()
{
布尔值isValid=true;//假设为true,检查每个值并更新
//开始循环
对于(int i=0;i 2)
{
isValid=false;
break;//如果已经找到一个false,则不需要测试循环的其余部分
}
}
//端环
如果(有效){
println(“有效”);
}否则{
println(“无效的重新输入”);
}
}
同样,您可以计算有效的
int validCount=0;validCount++
然后显示关于有效字符串数量、百分比等的统计信息,或者保留一个无效字符串数组,并将其显示为失败字符串等

总结:
当您想要检查整个集合或数组的某些条件并输出一个答案时,请确保您的输出在循环之外

循环中有打印行函数,因此每次迭代打印一次

试试这个

void testingLD()
{
  boolean isValid = true; // assume true, check each and update

  // begin loop
  for (int i=0; i<test.length; i++)
  {
      if(getLevenshteinDistance(test[i],user) > 2)
      {
        isValid = false;
        break; // don't need to test the rest of the loop if we already found a false
      }
  }
  // end loop

  if(isValid){
    println("Valid");
  }else{
    println("Invalid re-input");
  }
}
void testingLD()
{
布尔值isValid=true;//假设为true,检查每个值并更新
//开始循环
对于(int i=0;i 2)
{
isValid=false;
break;//如果已经找到一个false,则不需要测试循环的其余部分
}
}
//端环
如果(有效){
println(“有效”);
}否则{
println(“无效的重新输入”);
}
}
同样,您可以计算有效的
int validCount=0;validCount++
然后显示关于有效字符串数量、百分比等的统计信息,或者保留一个无效字符串数组,并将其显示为失败字符串等

总结:
当您想要检查整个集合或数组的某些条件并输出一个答案时,请确保您的输出在循环之外

我正在尝试使用布尔值,虽然它确实有意义,而且应该是这样的。。该计划是给我无效的所有可能性,包括那些有效的。对不起,我仍然是新使用处理。你从这里使用levenshtein距离公式吗?我认为我的问题是循环停止在0,因此如果我输入巧克力,数组的第一个字是candy,它将停止在那里,并给我invalidate,它不是将用户输入与整个数组进行比较..那么你想检查输入是否与数组中的任何字符串匹配吗?删除行
中断从我的代码运行整个循环,当发现一个循环无效时退出循环。如果您想检查任何字符串是否有效,您可以反转逻辑,假设为false,在If中将大于号切换为小于或等于,然后设置
isValid=true
非常感谢您的帮助!!!!我在做一个更大的符号值,而不是小于!再次感谢。。解决:D!我正在尝试使用布尔值,虽然它确实有意义,而且应该是这样的。。该计划是给我无效的所有可能性,包括那些有效的。对不起,我仍然是新使用处理。你从这里使用levenshtein距离公式吗?我认为我的问题是循环停止在0,因此如果我输入巧克力,数组的第一个字是candy,它将停止在那里,并给我invalidate,它不是将用户输入与整个数组进行比较..那么你想检查输入是否与数组中的任何字符串匹配吗?删除行
中断从我的代码运行整个循环,当发现一个循环无效时退出循环。如果您想检查任何字符串是否有效,您可以反转逻辑,假设为false,在If中将大于号切换为小于或等于,然后设置
isValid=true
非常感谢您的帮助!!!!我在做一个更大的符号值,而不是小于!再次感谢。。解决:D!