行 String fromIndexString = topStiva.Substring(topStivaLength + 1, topStiva.Length); に問題があります。. topStiva.Length がアウトまたはレンジであることを示しています。
コードは次のとおりです。
String actiuneRezultata(String topStiva, String cuvIntr) {
int index = -1;
String primulCharCuvIntr = cuvIntr.Substring(0, 1);
if (primulCharCuvIntr.Equals("+") == true)
primulCharCuvIntr = "\\" + primulCharCuvIntr;
else
if (primulCharCuvIntr.Equals("*") == true)
primulCharCuvIntr = "\\" + primulCharCuvIntr;
else
if (primulCharCuvIntr.Equals("*") == true)
primulCharCuvIntr = "\\" + primulCharCuvIntr;
else
if (primulCharCuvIntr.Equals("*") == true)
primulCharCuvIntr = "\\" + primulCharCuvIntr;
else
if (primulCharCuvIntr.Equals("*") == true)
primulCharCuvIntr = "\\" + primulCharCuvIntr;
for (int i = 0; i < ta.Length; i++) {
if (ta[i].CompareTo(primulCharCuvIntr) == 0) {
index = i;
break;
}
}
int topStivaLength = topStiva.Length - 1;
while (topStiva[topStivaLength] >= '0' && topStiva[topStivaLength] <= 9)
topStivaLength--;
String fromIndexString = topStiva.Substring(topStivaLength + 1, topStiva.Length);
int fromIndex = int.Parse(fromIndexString);
if (index < 0)
return "Nu face parte din gramatica!";
else
return tabela[fromIndex][index];
}
topStiva の値は、呼び出し actiuneRezultata(stivaAPD.Peek().ToString(), another_value) から取得されます。
stivaAPD で、いくつかの値をプッシュした後、私は元気になっていることがわかりました。では、なぜそれが範囲外なのですか?助けてください!