-1
所以我试图访问我的代码中的数组内容,这是在if语句中初始化和decalred。如果声明中的数组声明和初始化Java
下面的代码
String Columns[]=new String[records.size()];
if(records.size()==3){
Columns={"Forename","Surname","Salary"};
}
else{
Columns={"Forename","Surname"};
}
String Query[]=new String[records.size()];
for(int i=0; i<records.size(); i++)
{
Query[i]="UPDATE table SET "+Columns[i]+"='"+records.get(i)+"' WHERE StaffID="+id;
}
我得到的错误“表达的非法启动”和“不言”。因此,当我尝试在if语句中将其定义为像这样...
if(records.size()==3){
String Columns[]={"Forename","Surname","Salary"};
}
else{
String Columns[]={"Forename","Surname"};
}
String Query[]=new String[records.size()];
for(int i=0; i<records.size(); i++)
{
Query[i]="UPDATE table SET "+Columns[i]+"='"+records.get(i)+"' WHERE StaffID="+id;
}
我得到这个代替:找不到符号列。
关于如何让这段代码编译的任何建议?
所有的反馈表示赞赏。提前致谢。
你'if'声明 – fge
变量有*范围之前就宣布'Columns' *。如果你在一个块中声明它们,它们只存在于该块中。 –