报这个错,不知道咋改
class Database
{
private int [] accountNumber;
private int[] PIN;
private double[] total;
private Database ()
{
accountNumber = new int[] { 123456, 234567, 345678};
PIN = new int[] { 654321, 765432,876543 };
total = new double[] { 23333, 66666, 55555 };
}
public int Useraccount(int userAccount,int userPIN)//密码校验
{
int judgeNumber=1;
for(int i=0;i<3;i++)
{
int m;
m = Convert.ToInt32 (accountNumber[i]);
if (m == userAccount)
{
return judgeNumber++;
}
else if (PIN[i] == userPIN)
{
return judgeNumber++;
}
else
{
judgeNumber = 0;
return judgeNumber;
}
}
}
}
方法有返回值,在每个判断分支下只改变变量值,最后统一将该变量作为return试试呢,
class Database
{
private int[] accountNumber;
private int[] PIN;
private double[] total;
private Database()
{
accountNumber = new int[] { 123456, 234567, 345678 };
PIN = new int[] { 654321, 765432, 876543 };
total = new double[] { 23333, 66666, 55555 };
}
public int Useraccount(int userAccount, int userPIN)//密码校验
{
int judgeNumber = 1;
for (int i = 0; i < 3; i++)
{
int m;
m = Convert.ToInt32(accountNumber[i]);
if (m == userAccount)
{
judgeNumber = judgeNumber++;
}
else if (PIN[i] == userPIN)
{
judgeNumber = judgeNumber++;
}
else
{
judgeNumber = 0;
}
}
return judgeNumber;
}
}
Useraccount中,如果for循环没有执行,这个函数没有返回值,因此在for循环外面加一个return即可
class Database
{
private int [] accountNumber;
private int[] PIN;
private double[] total;
private Database ()
{
accountNumber = new int[] { 123456, 234567, 345678};
PIN = new int[] { 654321, 765432,876543 };
total = new double[] { 23333, 66666, 55555 };
}
public int Useraccount(int userAccount,int userPIN)//密码校验
{
int judgeNumber=1;
for(int i=0;i<3;i++)
{
int m;
m = Convert.ToInt32 (accountNumber[i]);
if (m == userAccount)
{
return judgeNumber++;
}
else if (PIN[i] == userPIN)
{
return judgeNumber++;
}
else
{
judgeNumber = 0;
return judgeNumber;
}
}
return 0;
}
}