В принципе мне нужно написать программу, которая вычисляет среднее количество осадков в месяц за x лет. Я хочу, чтобы он спрашивал у пользователя, сколько лет после этого используется цикл циклов через все месяцы и в конце расчета среднего количества осадков. Но я получаю сообщение об ошибке, когда я запускаю егоВне границ с индексом массива в C#
Необработанное исключение типа «System.IndexOutOfRangeException» произошло в Rainfall.exe
Я думаю, что это происходит, что после внутренней отделки для петель y установлено в 12, что делает массив вне границ, но я думал, что как только внешний массив завершит каждый цикл, когда переменная y внутри будет сброшена на 0.
Может ли кто-нибудь пролить свет на это, пожалуйста?
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Rainfall
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("This program will calculate the average amount of rainfall per month over the course of x years. ");
Console.WriteLine();
double years = 0;
Console.WriteLine("Over how many years will this calculation take place?");
years = int.Parse(Console.ReadLine());
string[] months = {"January", "February", "March", "April", "May", "June", "July", "August", "October", "November", "December" };
double totalRainfall = 0;
double monthRain = 0;
double totalMonths = 0;
double averageRainfall = 0;
for (int x = 0; x < years; x++)
{
for(int y = 0; y < 12; y++)
{
Console.WriteLine("Enter the rainfall for the month of {0}", months[y]);
monthRain = int.Parse(Console.ReadLine());
totalRainfall = totalRainfall + monthRain;
}
}
averageRainfall = totalRainfall/totalMonths;
Console.WriteLine("The average rainfall per month is " + averageRainfall);
Console.ReadLine();
}
}
}
И вам нужно посчитать итоговые месяцы. – kame
@kame, что вы имеете в виду? –
'totalMonth' все еще 0. – kame