问题描述
(C#Visual Studio 2019)您好,我的教授希望我们执行图片中所示的以下代码: https://i.stack.imgur.com/ONNSV.png
我们刚刚进入课程,只讨论了几种转换方法。
这是我的尝试,但有一个错误,我似乎无法全神贯注。如果有人可以帮助我或提供解决方案,谢谢!
Console.Write("Enter degrees Fahrenheit to convert to Celsius OR \nenter degrees Celsius
to convert to Fahrenheit.");
Console.Write("\n\nCurrent temperature scale (C for Celsius; F for Fahrenheit): ");
double tempscale = Convert.Todouble(Console.ReadLine());
Console.Write("Current degrees: ");
double currentdeg = Convert.Todouble(Console.ReadLine());
double degreeCelsius = 5 / 9 * (tempscale - 32);
double degreeFahrenheit = 9 / 5 * (degreeCelsius + 32);
if (tempscale == degreeFahrenheit)
Console.Write(degreeFahrenheit + "degrees Fahrenheit is" + degreeCelsius + "degrees Celsius");
if (tempscale == degreeCelsius)
Console.Write(degreeCelsius + "degrees Celsius is" + degreeFahrenheit + "degrees Fahrenheit");
Console.Write("\n\nPress any key to continue...");
Console.ReadKey();
解决方法
如果您在代码中编写import { withRouter } from 'react-router';
componentName(){
const { match,location,history } = this.props
history.push('Your Page')
}
export default withRouter(componentName);
OR
import { useHistory } from "react-router-dom";
component(){
const history = useHistory();
history.push('Your Page')
}
,则表示您正在执行整数除法,这与您的期望略有不同:
5 / 9
如果将2个整数相除,则结果为整数;对于整数除以小数,结果将四舍五入为零(舍去小数点后的所有值)
尝试将浮点文字写为int x = 5;
int y = 9;
int result = x / y; // result is 0
表示浮点数,或将5f
表示为双精度字...
5d
应该按照您的期望
您的首要目标是从用户那里获得C / F。让我们为它做一个简单的方法。根据用户输入,它将返回C或F。 或者,您可以使用枚举。
enum TemperatureScales { Celsius,Fahrenheit }
这里是获取温度标度的方法示例。
private static char GetTemperatureScale()
{
// Will wait for correct input from user
while (true)
{
Console.WriteLine("Enter C or F");
var input = Console.ReadLine();
if (input == "C" || input == "F") // you could improve and check for 'c' and 'f'
{
return input[0]; // you could use enum here if you are familiar with it
}
}
}
在代码中使用它以确保输入有效。