这是我的源代码:
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;
你犯了同样的错误,应该是+=的=+。