gpt4 book ai didi

java - 如何确定给定各种温度输入的归一化温度?

转载 作者:行者123 更新时间:2023-11-30 05:31:58 25 4
gpt4 key购买 nike

我需要使用标准化温度值来检查某人是否生病。

我已经编写了一个从摄氏温度转换为华氏温度的函数,但需要使用标准化温度编写相同的函数。

public void hasFever(int temperature1, int temperature2, int temperature3, int temperature4, String bodylocation) throws ArithmeticException, InputMismatchException {
final int noOfTimesTempTaken = 4;
if(bodylocation == "ear") { //Determine if someone has fever if temperature was taken by the ear
final double feverTemperature = 98.6;
double temperature1InFahrenheit = (temperature1 * 9/5) + 32;
double temperature2InFahrenheit = (temperature2 * 9/5) + 32;
double temperature3InFahrenheit = (temperature3 * 9/5) + 32;
double temperature4InFahrenheit = (temperature4 * 9/5) + 32;
double avgTemp = (temperature1InFahrenheit + temperature2InFahrenheit + temperature3InFahrenheit + temperature4InFahrenheit) / noOfTimesTempTaken;
if(avgTemp >= feverTemperature) {
System.out.println("This person has a fever because their temperature of " + avgTemp + " is greater than normal which is 98.6");
} else {
System.out.println("This person does not have a fever because their temperature of " + avgTemp + " is less than normal which is 98.6");
}
}
}

最佳答案

首先,应该注意的是,归一化温度并不是一个具有适用于此处的公认/标准含义的术语。术语标准化有时用于表示“调整以处理测量不准确”,但这似乎不是您在这里试图做的。

(必须说的是,您还没有成功阐明标准化的含义,因此我们必须猜测。根据您所说的,这是我的最佳猜测。)

我认为您正在寻找这样的东西:

double VALID_FAHRENHEIT_TEMP_THRESHOLD = 60.0;  // say

public double normalizeToFahrenheit(double temp) {
if (temp >= VALID_FAHRENHEIT_TEMP_THRESHOLD) {
return temp;
} else {
return temp * (9.0 / 5.0) + 32.0;
}
}

但问题是,这种“归一化”在科学上和数学上都是不合理的。我们假设,如果一个数字小于特定值,它必须以摄氏度而不是华氏度为单位。但这不一定是真的。摄氏度和华氏度都会降低到非常低的值。

更实际的是,如果有人淹死在冰冷的水中,他们的华氏体温可能会大大降低……可能接近冰点。它很可能低于我们选择的阈值。如果我们假设它“必须是”摄氏度并进行转换,我们会报告错误的温度。

一个相关的问题是,奇怪的温度值可能是用户误读温度计、误听测量值或误输入值造成的;例如11.3 而不是 101.3。对错误的输入应用标准化会导致更多误导性的结果。

<小时/>

鉴于这种“标准化”方法无效,您应该做什么?

我的建议是让您的应用向用户报告异常情况。例如,向他们展示如下对话框:

  The temperature xy degrees is outside of the expected range for human 
temperatures in Fahrenheit.

Options:

1) Accept as a Fahrenheit value.
2) Apply Centigrade to Fahrenheit conversion.
3) Switch device to Centigrade mode.
4) Reenter value.

关于java - 如何确定给定各种温度输入的归一化温度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57343172/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com