영어 단어 프로그램에 간단한 숫자를 만들려고하고 있으며 배열을 사용하기로 결정했습니다. 그러나 99보다 큰 숫자를 입력 할 때마다 세 번째 if 절에서 오류가 발생합니다. 문제를 해결하려면 무엇을 변경해야합니까? 여기 내 코드가있다.배열을 사용하여 숫자로 단어
class Program
{
static void Main(string[] args)
{
string[] uptonineteen = {"Zero","One","Two","Three","Four",
"Five","Six","Seven","Eight","Nine","Ten",
"Eleven","Twelve","Thirteen","Fourteen","Fifteen",
"Sixteen","Seventeen","Eighteen","Nineteen"};
string[] ten = {"","","Twenty","Thirty","Forty","Fifty",
"Sixty","Seventy","Eighty","Ninety",};
Console.WriteLine(" ---------------");
int i = int.Parse(Console.ReadLine());
if (i < 20)
{
Console.WriteLine(uptonineteen[i]);
}
if (i < 100)
{
Console.WriteLine(ten[i/10] + ((i % 10 > 0) ? "" + uptonineteen[i%10] : ""));
}
if (i <= 999)
{
object lenthree = ten[i/100] + "hundred"+" " + ((i % 100 > 0) ? "and" +" "+ uptonineteen[i % 1000] : "");
Console.WriteLine(lenthree);
}
Console.ReadKey();
}
}
}
오류가 발생했습니다. 또한, 왜 내가 % 1000을하고 있습니까? 내가 % 100 아니야? – ryadavilli
"인덱스가 배열 범위를 벗어났습니다."내가하려고 할 때 생각합니다.
ten[i/100]
그리고 예고하고 편집했지만 여전히 동일한 오류가 발생합니다. –'i % 100'도 숫자를 얻을 수 있습니다> 19 –