我正在编写一个 C# 控制台应用程序,允许用户设置初始温度并对其进行调整,但我没有得到所需的输出



这是我的源代码:

class Program
{
static void Main(string[] args)
{
while (true)
{
Console.WriteLine("Set initial Temperature");
int set_temperature = int.Parse(Console.ReadLine());
ThermostatView.ControlTemperature(set_temperature);
Console.WriteLine("Continue? ");
string Continue = Console.ReadLine();
if (Continue == "no".ToUpper())
{
break;
}
}
}
}

class Thermostat 
{
int defaultTemp { get; set; } 
int decrease { get; set; }
int increase { get; set; }

public Thermostat()
{ }
public Thermostat(int DefaultTemp) 
{
defaultTemp = DefaultTemp;
CurrentTemperature(defaultTemp);

}
public void CurrentTemperature(int defaultTemp)
{
Console.WriteLine("Current Temperature: {0}", defaultTemp);
}
public void ControlThermostat()
{
int Choice;
Console.WriteLine("Increase(1) or Decrease(2) Temperature");
Choice = int.Parse(Console.ReadLine());
ValidateControl(Choice);

}
public void ValidateControl(int choice) 
{

if (choice == 2)
{
if(defaultTemp==0)
{
Console.WriteLine("Temperature at Minimum Setting!");
}
else {
Console.WriteLine("Decrease by: ");
decrease = int.Parse(Console.ReadLine());
DecreaseTemperature(decrease);
}
}
if (choice == 1)
{
if(defaultTemp == 100) 
{
Console.WriteLine("Temperature at Maximum Setting!");
}
else
{
Console.WriteLine("Increase by: ");
increase = int.Parse(Console.ReadLine());
IncreaseTemperature(increase);
}
}
}
public void IncreaseTemperature(int increaseTemp) 
{
defaultTemp =+ increaseTemp;
CurrentTemperature(defaultTemp);
}
public void DecreaseTemperature(int decreaseTemp)
{
defaultTemp =- decreaseTemp;
CurrentTemperature(defaultTemp);
}

}
class ThermostatView 
{

public static void ControlTemperature(int Temperature) 
{
Thermostat thermostat = new Thermostat(Temperature);
thermostat.ControlThermostat();
}
}

}

这是我的输出:

控制台窗口:

设置初始温度 72(用户输入(

当前温度:72

升高(1(或降低(2(温度

2(用户输入(

减少: 40(用户输入(

当前温度:-40

如何更改初始温度(在本例中为 72(,而不是增加或减少值 0?

降低温度的函数是

defaultTemp =- decreaseTemp;

这是错误的运算符,应该是

defaultTemp -= decreaseTemp;

你犯了同样的错误,应该是+=的=+。

最新更新