在我的代码中,我收到以下错误:
使用未分配的局部变量'nonrpeatedChar'
为什么会出现此错误,如何解决?
static void firstNonRepeated(string str)
{
int i, j, len;
len = str.Length;
int count = 1;
char nonrpeatedChar;
for (i = 0; i < len; i++)
{
for (j = 0; j < len; j++)
{
if (i != j && str[i] == str[j])
{
count = count + 1;
}
}
if (count == 1)
{
nonrpeatedChar = str[i];
break;
}
}
Console.WriteLine(nonrpeatedChar);
Console.ReadLine();
}
}
答案 0 :(得分:4)
鉴于您的代码路径,在将nonrepeatedChar
传递给Console.WriteLine
之前无法保证if
已被分配,因为唯一的分配发生在char nonrepeatedChar = default(char);
块内部,可能是也可能不是击中。
一个简单的解决方法是在声明时指定默认值:
<?php
namespace AppBundle\Form\Type;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\FormBuilderInterface;
class CheckListType extends AbstractType{
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder->add('IMEI');
$builder->add('serialNumber');
$builder->add('visualCheck');
$builder->add('callCheck');
$builder->add('cameraCheck');
$builder->add('checkMend');
$builder->add('wifiCheck');
$builder->add('wipeDataCheck');
$builder->add('checkComment');
$builder->add('checkDate');
$builder->add('batch');
}
/**
* Returns the name of this type.
*
* @return string The name of this type
*/
public function getName()
{
return 'check_list';
}
}
答案 1 :(得分:0)
尝试:
char nonrpeatedChar = new Char();
答案 2 :(得分:0)
如果it('test', function() {
return hack().then(function(bool) {
assert(false);
});
});
的len为str
,则0
的值未定义。因此nonrpeatedChar
不起作用。