距离编辑阵列输出
Distance edit array output
我正在根据用户输入进行编辑距离。我将我的值存储在数组中。然后编辑距离会将用户输入与我的字符串数组进行比较。我正在做一个循环,如果编辑距离大于 2,它将显示无效,否则有效。
我遇到的唯一问题是,虽然程序运行良好,但输出是我数组中所有“28”字符串的结果。我想只显示无效或有效一次。
测试是我的字符串数组,用户是 - 字符串用户 - 用户输入。
void testingLD()
{
for (int i=0; i<test.length; i++)
{
if(getLevenshteinDistance(test[i],user) > 2)
{
println ("Invalid re-input");
}
else
{
println ("Valid");
}
}
}
您的循环中有打印行函数,因此每次迭代打印一次。
试试这个。
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");
}
}
同样,您可以计算有效 int validCount = 0; validCount++
的数量,然后显示有关有效数量、百分比等的统计信息。或者保留无效字符串的数组并将其显示为失败的字符串等!
总结:
当您想检查整个集合或数组的某些条件并输出一个答案时,请确保您的输出在循环之外!
我正在根据用户输入进行编辑距离。我将我的值存储在数组中。然后编辑距离会将用户输入与我的字符串数组进行比较。我正在做一个循环,如果编辑距离大于 2,它将显示无效,否则有效。
我遇到的唯一问题是,虽然程序运行良好,但输出是我数组中所有“28”字符串的结果。我想只显示无效或有效一次。
测试是我的字符串数组,用户是 - 字符串用户 - 用户输入。
void testingLD()
{
for (int i=0; i<test.length; i++)
{
if(getLevenshteinDistance(test[i],user) > 2)
{
println ("Invalid re-input");
}
else
{
println ("Valid");
}
}
}
您的循环中有打印行函数,因此每次迭代打印一次。
试试这个。
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");
}
}
同样,您可以计算有效 int validCount = 0; validCount++
的数量,然后显示有关有效数量、百分比等的统计信息。或者保留无效字符串的数组并将其显示为失败的字符串等!
总结: 当您想检查整个集合或数组的某些条件并输出一个答案时,请确保您的输出在循环之外!