但是由于某种原因,当我运行我的程序时,它似乎没有完全接受输入,并且给我一个错误的答案,当按下按钮时,它给我的答案是179.0的男性和169.0的女性。
我看了一遍又一遍,似乎无法找出这个逻辑错误。这是我的代码。
public class MainHMR extends Activity implements View.OnClickListener {
Button chkCmd;
CheckBox Male, Femail;
EditText age, RestHeart;
TextView MaxHeart, TargetHeart;
int m = 220;
int f = 212;
int AgeResult =0, RestResultFinal =0, TargetHeartFinal =0;
double MaleResult, FemailResult;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main_hmr);
Initilise();
format();
Male.setOnClickListener(this);
Femail.setOnClickListener(this);
chkCmd.setOnClickListener(this);
}
private void Initilise() {
// TODO Auto-generated method stub
/* Button */chkCmd = (Button) findViewById(R.id.bResults);
/* checkBox */Male = (CheckBox) findViewById(R.id.cbM);
/* checkBox */Femail = (CheckBox) findViewById(R.id.cbF);
/* EditText */age = (EditText) findViewById(R.id.etAge);
/* EditText */RestHeart = (EditText) findViewById(R.id.etRestHeart);
/* TextView */TargetHeart = (TextView) findViewById(R.id.etTargetHeard);
}
private void format() {
// TODO Auto-generated method stub
String change = age.getText().toString();
AgeResult = 0; // set it to 0 as the default
try {
AgeResult = Integer.parseInt(change);
System.out.println(AgeResult);
}
catch (NumberFormatException e){}
String changeTwo = RestHeart.getText().toString();
RestResultFinal = 0; // set it to 0 as the default
try {
RestResultFinal = Integer.parseInt(changeTwo);
System.out.println(RestResultFinal);
}
catch (NumberFormatException e){}
}
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
switch(v.getId()){
case R.id.bResults:
if (Male.isChecked()) {
int result = m - AgeResult;
MaleResult = ((result - RestResultFinal) * 0.8);
String finalResult = Double.toString(MaleResult);
TargetHeart.setText(finalResult);
} else if (Femail.isChecked()) {
int result = f - AgeResult;
FemailResult = (int) ((result - RestResultFinal) * 0.8);
String finalResult = Double.toString(FemailResult);
TargetHeart.setText(finalResult);
break;
}
}
}
}
好吧,我能理解如果你是176的男性和169的女性...但不是179。你确定吗?
我怀疑integer.parseint
对您来说是失败的--但您无法判断,因为这一点:
catch (NumberFormatException e){}
永远不要只抓到一个例外而完全忽略它。至少要在那里登录。
// I've changed the names of some variables to comply with conventions
double maximumRate = MALE_MAXIMUM_RATE_LIMIT - parsedAge;
double targetRate = (maximumRate - parsedRestingRate) * 0.8;
大家好。我卡住了,不明白为什么代码会给我一个“错误”的答案。 我的任务是:编写一个程序,取数字并计数,直到用户输入“exit”,然后程序打印出用户刚刚插入的所有数字的摘要并停止。 我现在正在网上学习java,不知道该如何回答:当你输入1或2或3个或更多的数字时,它会计算并打印错误的结果,甚至代码无法编译并弹出一个错误。 例如。你放了2个数字,有一个错误 线程“main”java.lang.Numb
导入java.util.Scanner;公共类GroupActivity{公共静态void main()
问题内容: 应该返回什么?根据我的计算,应该是,但是解释器会返回。 这是Python的事情,还是我的数学很糟糕? 问题答案: 根据docs,其优先级高于,因此您的代码等同于。为了获得理想的结果,您可以将其放在括号中 或使用内置功能 或功能(返回值)
我在重播脚本时出现以下错误。 尽管它不影响重放。需要了解相同的原因和修复方法。提前感谢!!
我有以下代码(参考下文)以ASC顺序显示来自mysql的结果 但是我得到了一个错误:“警告:mysqli_fetch_array()期望参数1是mysqli_result,布尔值在”中给出,它指向第38行,第38行是“while($row=mysqli_fetch_array($result))” 正如您所看到的,我正试图按ASC顺序按键获取结果,键行包含0 1 2 3 4这样的数字,因此结果应按
问题内容: 我在ubuntu上使用npm v1.0.104 / node 0.6.12-在尝试通过npm安装任何新模块时收到以下复制的错误(我之前使用http而不是https测试了socket.io,但我想知道是否可以导致npm / unsigned证书出现问题)。一旦npm尝试解析“ https://registry.npmjs.org ” URL,该错误就会弹出。无论如何,我可以忽略该错误,或