我不确定是否有人熟悉游戏中的牛和公牛。基本上我试图编写一个方法,用户输入1234的数字,另一个用户输入4305,这会给他们2头牛,因为这些数字在第一个数字中,但是在错误的索引中。如果他们在相同的指数,那么他们会得到一头牛。我必须调用我以前编写的方法。我已经把它计算在第一个给定的数字中找到的正确数字的数量,但我无法弄清楚如果它们在同一个索引中不会计算它们。任何建议都会很棒。奶牛和公牛的方法
public static int numDigits(int number)
{
int counter = 0;
while(number !=0)
{
int digit = number % 10;
number= number /10;
counter++;
}
return counter;
}
public static int getDigit(int number, int i)
{
int negative =-1;
int counter = 0;
int digit = 0;
if(i>numDigits(number)|| i == 0)
{
return negative;
}
while(counter < i)
{
digit = number % 10;
number = number/10;
counter++;
}
return digit;
}
public static int indexOf (int number, int digit)
{
int counter = 0;
int negative = -1;
for(int i = 0; i<=numDigits(number); i++)
{
counter++;
if(getDigit(number,i)== digit)
{
return counter-1;
}
}
return negative;
}
public static int getCows(int first, int second)
{
int counter = 0;
for(int i = 0; i<numDigits(first); i++)
{
if(getDigit(first,i)==getDigit(second,i))
{
counter++;
}
}
return counter;
}
对于这里看起来的样子,我感到抱歉。如果有人愿意编辑,我会遇到问题。 – 2014-11-06 23:15:44