我不確定是否有人熟悉遊戲中的牛和公牛。基本上我試圖編寫一個方法,用戶輸入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