这是一个基本的计算器。错误位于名为 printResult
的最后一个方法上。我无法将num1, num2, operador
和resultado
设置为全局。我可以在类 Calculadora
上访问printResult
,但无法从 printResult
方法访问类Calculadora
的变量。
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
你提到的变量不是"全局的",它们是 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)
{