2015-06-07 3 views
-4

Привет Я создаю программу для вычисления среднего числа 3 чисел с плавающей запятой и отображения их обратно, но по какой-то причине, когда я пытаюсь поместить значения в метод, он дает ошибку Error 1 ссылка на объект необходим для не-статическое поле, метод или свойство «average.Program.MeanAverageOfThree (поплавка, поплавок, поплавок)»ссылка на объект обязательна для нестатического поля

любая помощь будет оценена

static void Main(string[] args) 
{ 
    float value1, value2, value3, average; 

    Console.WriteLine("--Welcome to the Avarge Calculator--"); 
    Console.ReadLine(); 

    Console.WriteLine("Please Enter The First Number: "); 
    value1 = float.Parse(Console.ReadLine()); 

    Console.WriteLine("Please Enter The Secound Number: "); 
    value2 = float.Parse(Console.ReadLine()); 

    Console.WriteLine("Please Enter The Third Number: "); 
    value3 = float.Parse(Console.ReadLine()); 

    average = MeanAverageOfThree(value1, value2, value3); 

    Console.WriteLine("The Greatest Common Divisor of {0} and {1} and {2} is: {3} ", value1, value2, value3, average); 
    Console.ReadLine(); 

} 

public float MeanAverageOfThree(float value1, float value2, float value3) 
{ 
    float average; 
    average = (value1 % 3 + value2 % 3 + value3 % 3 + 6)/3 - 2 + (value1/3 + value2/3 + value3/3); 


    return average; 
} 
+2

Вы видели много связанных вопросов (в правой части экрана) с похожими вопросами «Ссылка на объект требуется для нестатического поля»? –

+0

public static float MeanAverageOfThree –

ответ

-1

Вы в статический класс и пытается получить доступ к методу экземпляра. Вам нужно сделать статический метод MeanAverageOfThree.

static void Main(string[] args) 
{ 
    float value1, value2, value3, average; 

    Console.WriteLine("--Welcome to the Avarge Calculator--"); 
    Console.ReadLine(); 

    Console.WriteLine("Please Enter The First Number: "); 
    value1 = float.Parse(Console.ReadLine()); 

    Console.WriteLine("Please Enter The Secound Number: "); 
    value2 = float.Parse(Console.ReadLine()); 

    Console.WriteLine("Please Enter The Third Number: "); 
    value3 = float.Parse(Console.ReadLine()); 

    average = Program.MeanAverageOfThree(value1, value2, value3); 

    Console.WriteLine("The Greatest Common Divisor of {0} and {1} and {2} is: {3} ", value1, value2, value3, average); 
    Console.ReadLine(); 
} 

public static float MeanAverageOfThree(float value1, float value2, float value3) 
{ 
    return (value1 % 3 + value2 % 3 + value3 % 3 + 6)/3 - 2 + (value1/3 + value2/3 + value3/3); 
} 
Смежные вопросы