如果這是一個愚蠢的問題,我很抱歉,但作爲編程的初學者,我發現很難記住我創建的變量的限制/範圍。我正在嘗試在下面的GetLetters()
方法中創建一個臨時數組,但我後來需要根據其名稱在EstimateGrade()
方法中訪問此信息,以便爲用戶「」估計等級。嘗試以另一種方法訪問臨時陣列
我得到「名稱‘threeLetters’不會在目前情況下」。
是否有訪問threeLetters陣列,而無需創建一個公共陣列的方式存在錯誤。
public int[] GetLetters(String userName)
{
//Creating an array that will hold the 3 values that determine grade
int[] threeLetters = new int[3];
char firstLetter = userName[0];
threeLetters[0] = userName[0];
char thirdLetter = userName[2];
threeLetters[1] = userName[2];
char fifthLetter = userName[4];
threeLetters[2] = userName[4];
if(userName.Length > 5)
{
threeLetters = new int[0];
}
return threeLetters;
}
public int EstimateGrade(int[] grade)
{
int sum = (threeLetters[0] + threeLetters[1] + threeLetters[2]) * 85;
int result = sum % 101;
return result;
}
看起來你幾乎就在那裏。嘗試將'EstimateGrade'中的參數名稱從'grade'更改爲'threeLetters'。 –
是的。如果您查看EstimateGrade方法,您提供的參數沒有在方法中使用,並且正在使用的參數是'threeLetters',由於它未在此處聲明,因此無法訪問。如果你在參數中聲明它,你將能夠使用它。請記住,當您使用EstimateGrade方法並希望從'GetLetters'中獲取名稱時,則必須將'GetLetters'方法的返回值傳遞到您的EstimateGrade方法中。例如EstimateGrade(GetLetters(用戶名));我希望這是有道理的。 –
@GrantWinney謝謝:) – corinne