我正在进行温度转换程序,我无法弄清楚如何做最后一部分。该程序允许用户选择华氏温度到摄氏温度或华氏温度转换器。
到目前为止,这是我的代码。
case "1":
System.Console.Write("Please enter the Celsius temperature: ");
F = TemperatureConverter.CelsiusToFahrenheit(System.Console.ReadLine());
System.Console.WriteLine("Celsius is {0:F2} Fahrenheit", F);
break;
现在,如果用户输入1到摄氏度到华氏度的转换器,那么它将输出为
"Celsius is 33.80 Fahrenheit"
我希望输出显示
"1 Celius is 33.80 Fahrenheit"
我无法弄清楚如何在F转换之前显示用户在同一行输入的内容。
答案 0 :(得分:3)
您需要将输入结果存储到变量中:
string input = Console.ReadLine();
然后你会使用它:
F = TemperatureConverter.CelsiusToFahrenheit(input);
System.Console.WriteLine("{0} Celsius is {1:F2} Fahrenheit", input, F);
请注意,您应该验证用户输入,并使用TryParse
方法,因为这不会引发Parse
之类的异常。我还假设用户输入应该是int
,对您的用例使用相关的验证。
int parsedInput;
if (!Int32.TryParse(input, out parsedInput))
{
//Handle invalid input here.
}
请注意,在C#7.0中,您应该能够执行以下更清洁的操作。
if (!Int32.TryParse(input, out int parsedInput))
答案 1 :(得分:3)
注意:您还应该验证您的输入(检查它是否为数字)。
int enteredValue;
if(int.TryParse(System.Console.ReadLine(), out enteredValue);
{
//Check if enteredValue has been set to your needs !
//Store your converted Value
double convertedValue = TemperatureConverter.CelsiusToFahrenheit(enteredValue); // I assume double here ..
//Display the result on your console:
System.Console.WriteLine($"{enteredValue} Celsius is {convertedValue} Fahrenheit");
}
else { /*Handle wrong input here*/ }
答案 2 :(得分:1)
case "1":
System.Console.Write("Please enter the Celsius temperature: ");
String userInput = System.Console.ReadLine();
System.Console.Write(userInput);
F = TemperatureConverter.CelsiusToFahrenheit(userInput);
System.Console.WriteLine(" Celsius is {0:F2} Fahrenheit", F);
break;
答案 3 :(得分:0)
您需要做的就是将用户输入存储在变量中,然后在写行语句中访问它。
case "1":
System.Console.Write("Please enter the Celsius temperature: ");
var userInput = System.Console.ReadLine();
F = TemperatureConverter.CelsiusToFahrenheit(userInput);
System.Console.WriteLine($"{userInput} Celsius is {0:F2} Fahrenheit", F);
break;
答案 4 :(得分:0)
或者不是使用额外的变量,而你以后不需要F在华氏温度上:
case "1":
System.Console.Write("Please enter the Celsius temperature: ");
F = System.Console.ReadLine();
System.Console.WriteLine("{0} Celsius is {1:F2} Fahrenheit", F, TemperatureConverter.CelsiusToFahrenheit(F));
break;