→ bantime: 出問題的code應該不在這裡 11/04 16:29
→ bantime: 你把其他部分貼上來看看 11/04 16:30
public string GetResult(List<int> userAnswer
{
int aCount = 0;
int bCount = 0;
string result = "";
for (int userAnswerIndex = 0; userAnswerIndex < 4; userAnswerIndex++)
for (int answerIndex = 0; answerIndex < 4; answerIndex++)
{
if (userAnswer[userAnswerIndex] == this.answer[answerIndex])
{
if (userAnswerIndex == answerIndex)//A+1
aCount++;
else
bCount++;//B+1
}
}
}
result += "User Answer:" + this.ConvertNumbersToString(userAnswer) + "\n";
return string.Format("\n{0}A{1}B", aCount, bCount);
}
照同學的建議不進入函式的方法跑是錯在這行。
※ 編輯: reccaX (61.228.24.34), 11/04/2015 17:01:26
推 J002: 推測有問題的應該是 UserAns = int.Parse(textBox1.Text); 11/04 17:07
→ J002: 假設輸入0123 -> UserAns就會變成123 11/04 17:08
→ J002: 這應該是跟您底下想要執行的code有衝突 11/04 17:08
→ J002: 然後您的UserAnswer就只有123一個元素,Count = 1 11/04 17:09
→ J002: 然後就會跳出索引超出範圍的問題@@" 11/04 17:10
→ reccaX: 感謝兩位 我大概ㄢ理解了 我試著處理看看 11/04 17:18
推 TameFoxx: 你用subString的方法,分別將四個數字存入 11/04 18:46
推 TameFoxx: 然後可以用contains的方法判斷答案中有無正解 11/04 18:49
→ TameFoxx: 若有擇判斷索引值是否相同,就不必包兩回圈了 11/04 18:50
推 TameFoxx: 哦對了,用分割字串可能比substring更方便 11/04 18:52
推 Litfal: 這個題目用字串處理比較輕鬆,免轉數字,Parse或Regex檢查 11/05 12:11