我在设置计算器时遇到问题。 变量(方法)是一个字符,在第一个while循环中输入。 在第二个while循环中,我希望将第一个循环中的变量(方法)转移到第二个循环中。 但出现错误,并指出该变量未关联。 请帮忙。 这是代码:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Test
{
class Program
{
static void Main(string[] args)
{
int continu = 0;
int continu2 = 0;
Console.WriteLine("Welcome To The Alpha Calculator!");
Console.WriteLine("First,Type A Method");
char method;
while (continu2 != 0)
{
Console.Write("Type '+' or '-' or '*' or '/' :");
method = char.Parse(Console.ReadLine());
if (method == '+' || method == '/' || method == '*' || method == '-')
{
continu = 1;
continu2 = 1;
Console.WriteLine(method + " Picked");
}
else
{
Console.WriteLine("Unknown Method Try Again");
}
char method2 = method;
}
while (continu != 0)
{
Console.Write("Pick A First Digit:");
double num1 = double.Parse(Console.ReadLine());
Console.Write("Pick A Second Digit:");
double num2 = double.Parse(Console.ReadLine());
double sum = 0;
if (method == '+')
{
sum = num1 + num2;
}
else if (method == '-')
{
sum = num1 - num2;
}
else if (method == '/')
{
sum = num1 / num2;
}
else if (method == '*')
{
sum = num1 * num2;
}
Console.WriteLine("The Solution is: " + sum);
continu = 0;
}
}
}
}
答案 0 :(得分:0)
实际上,您实际上在使用变量method
来正确执行此操作。查看您得到的错误-“变量未分配”。这是有道理的,因为您在声明时未定义它。但是应该在第一个循环中定义它,所以为什么在第二个循环中不定义它?
答案是,第一个循环甚至没有运行。问题是这两行:
int continu2 = 0;
...
while (continu2 != 0)
{
...
}
您会发现,条件continu2 != 0
从一开始就为假,因此循环-包括其中的行method = char.Parse(Console.ReadLine());
将会消除您的错误-根本不会运行。
解决方案:将您的条件更改为continu2 == 0
,而不是continu2 != 0
。