Witam
Ćwiczę sobie podstawy klas, metody itp. i chciałem zrobić takie zadanko, ale mam problem ze zmienną.
Ogólnie chodzi o to że mam tablice, a w niej kilka zmiennych. Jedną metodą zsumowałem wszystkie zmienne, a w drugiej metodzie chciałbym sprawdzić czy ich suma jest podzielna przez 3 i tu następuję problem.
Wiem co jest nie tak, ale nie wiem jak to naprawić.
Zainicjowałem na początku zmienną 'wynik' i w metodzie sumowania zmienna 'wynik' jest ok, ale gdy chcę jej użyć w metodzie dzielenie to zmienna 'wynik' jest pobierana z samej góry, czyli domyślnie 0.
Próbowałem już używać polecenia 'this.', ale to raczej jest stosowane pomiędzy klasami, a nie metodami.
Próbowałem również przypisać nową zmienną do 'wynik ( int wynik2 = wynik;), ale efekt jest ten sam.
Kolejnym moim pomysłem było zainicjowanie zmiennej w konstuktorze, ale to też mi średnio wyszło.
Problem jest pewnie łatwy do rozwiązania, ale utknąłem w miejscu i już nie mam pomysłów.
Kod prezentuję się tak:
class Program
{
static void Main(string[] args)
{
Sumator suma = new Sumator();
Sumator sumapodziel3 = new Sumator();
Console.WriteLine(suma.Suma());
Console.WriteLine(sumapodziel3.SumaPodziel3());
Console.ReadLine();
}
}
class Sumator
{
int[] Liczby = new int[] { 435, 32, 23, 65 };
double dzielona;
int wynik;
public double Suma()
{
for (int i = 0; i < Liczby.Length; i++)
wynik += Liczby[i];
return wynik;
}
public double SumaPodziel3()
{
dzielona = wynik / 3;
if (dzielona % 3 == 0)
Console.WriteLine("Suma liczb jest podzielna przez 3 ");
else
Console.WriteLine("Suma liczb nie jest podzielna przez 3");
return dzielona;
}