Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java程序未输出方程式的正确值_Java_Eclipse - Fatal编程技术网

Java程序未输出方程式的正确值

Java程序未输出方程式的正确值,java,eclipse,Java,Eclipse,我的代码应该获取输入的露点和温度数据,以便生成相对湿度。例如,露点为46,温度为100华氏度,相对湿度约为16。不幸的是,不管您对这些值的输入是什么,答案总是100 这是我的代码(未完成): 如果可以,请提供帮助计算湿度的方法完全没有问题。但是从Java8开始,您可以使用lambda表达式。这些可以用来简化表达式,而无需求助于成熟的方法。它还有助于减少错误。下面是一个使用您的代码的示例 一元运算符toC=f->5/9.*(f-32); 一元运算符fnc=t->Math.exp((17.625*

我的代码应该获取输入的露点和温度数据,以便生成相对湿度。例如,露点为46,温度为100华氏度,相对湿度约为16。不幸的是,不管您对这些值的输入是什么,答案总是100

这是我的代码(未完成):


如果可以,请提供帮助

计算湿度的方法完全没有问题。但是从Java8开始,您可以使用lambda表达式。这些可以用来简化表达式,而无需求助于成熟的方法。它还有助于减少错误。下面是一个使用您的代码的示例


一元运算符toC=f->5/9.*(f-32);
一元运算符fnc=t->Math.exp((17.625*t)/(243.04+t));
双核操作员湿度=
(t,td)->100*fnc.apply(td)/fnc.apply(t);
扫描仪输入=新扫描仪(System.in);
//输入露点和温度以获得相对湿度
系统输出打印(“输入露点:”);
//把露点变成塞尔修斯
double Td=input.nextDouble();
Td=适用的总成本(Td);
系统输出打印(“输入温度:”);
//把温度调到摄氏度
double T=input.nextDouble();
T=总适用量(T);
双相对湿度=湿度。施加(T,Td);
系统输出打印(“相对湿度%”=+Rh);

它们可以以多种方式组合在一起。也可以将它们传递给方法,以便传递函数。我建议您在继续学习Java的同时学习它们。

运行它,对我来说效果很好:
输入露点:输入温度:相对湿度百分比=16.129735479142234
@ChristopherSchneider这很令人沮丧,我会在一台不同的电脑上测试它,我想…@NEWWIE,我在这里看不到任何电脑专用的代码。您最初可能输入的数据不正确。我认为这对您没有帮助。我建议学习使用调试器一步一步地查看发生了什么。这可能是你输入的问题。也许先不用扫描器试试,我也没问题。你使用的是什么版本的Java?虽然学习lambdas很有价值,但我看不出在这种情况下使用它们有什么意义。如果你不断重复编写相同的方程式,这是有意义的。减少出错的机会。使用lambda与使用方法一样有意义。比如像
Math.abs
。非常简单,但是很方便。
public static void main(String[] args) {
    Scanner input = new Scanner(System.in);

    // Input the dew point and temperature to get the relative humidity

    System.out.print("Enter dewpoint: ") ;
    // change dewpoint into celcius
    double Td = input.nextDouble() ;
    Td = (5.0 / 9.0) * (Td - 32) ;
    System.out.print("Enter temperature: ") ;
    // change temperature to celcius
    double T = input.nextDouble() ;
    T = (5.0 / 9.0) * (T - 32) ;
    double Rh = 100*(Math.exp((17.625 * Td) / (243.04 + Td)) / Math.exp ((17.625 * T) / (243.04 + T))) ;

    System.out.print("The % Relative Humidity = " +  Rh) ;
}