2016-03-11 11 views
1

Это базовый калькулятор. Ошибки относятся к последнему методу, который называется printResult. Я не могу установить num1, num2, operador и resultado как глобальный. Я могу получить доступ к printResult по классу Calculadora, но я не могу получить доступ к переменным класса Calculadora по методу printResult.Невозможно получить доступ к нескольким глобальным переменным

using System; 

namespace supercalc 
{ 
    public class calculadora 
    { 
     public static void Main (string [] args) 
     { 
      float num1; 
      float num2; 
      string operador; 
      float resultado; 

      Console.Clear(); 

      Console.WriteLine("Insira o primeiro número"); 
num1 = int.Parse(Console.ReadLine()); 
Console.WriteLine("Insira o segundo número "); 
num2 = int.Parse(Console.ReadLine()); 
Console.WriteLine("Insira o operador"); 
operador = Console.ReadLine(); 

switch(operador) 
{ 
case "+": 
resultado = num1 + num2; 
automatizar.printResult(); 
break; 
case "-" : 
resultado = num1 - num2; 
automatizar.printResult(); 
break; 
case "*": 
resultado = num1 * num2; 
automatizar.printResult(); 
break; 
case "/": 
resultado = num1/num2; 
automatizar.printResult(); 
break; 
default: 
break; 
}//END SWITCH 

Console.WriteLine("Press any key to leave..."); 
Console.ReadKey(); 
}//END VOID MAIN 
}//END CLASS CALCULADORA 

public class automatizar 
{ 
public static void printResult() 

{ 

    Console.WriteLine(supercalc.calculadora.num1 + calculadora.operador +calculadora.num2 + " é " + calculadora.resultado); 
    //ERROR ON PREVIOUS LINE OF CODE : supercalc.calculadora doesnt have a definition for num1, operador, num2 and resultado 
    //HELP 
    //I CANT SET THEM AS GLOBAL! 
} 

} 

}//END NAMESPACE 

ответ

2

Переменные вы упоминаете не «глобальный», они являются локальными Main()

public static void Main (string [] args) 
{ 
    float num1; 
    float num2; 

Вы не можете получить доступ к ним из другой функции. Самый прямой способ сделать их доступными - сделать их статическими полями классов

private static float num1; 
private static float num2; 
public static void Main (string [] args) 
{ 
+0

Это сработало;) Спасибо! – Newbie404

 Смежные вопросы

  • Нет связанных вопросов^_^