我正在实施一个应该从摄氏度到华氏度等计算的程序。但是如果我启动程序,当我点击“计算”按钮时它会崩溃。在 Java 中,当方法从第 72 行开始时,出现以下错误
627 627 com.example.ubersatzer AndroidRuntime FatalException: main
627 627 com.example.ubersatzer AndroidRuntime java.lang.StackOverflowError
627 627 com.example.ubersatzer AndroidRuntime at.come.example.ubersatzer.InputFragment.isConvertFromCelsiusToFahrenheit (InputFragement.java:72)
这是来自活动类的代码,相关方法:
public void onClick(View view) {
switch (view.getId()) {
case R.id.buttonConvert:
convert();
break;
}
}
private void convert() {
if (inputFragment.isConvertFromCelsiusToFahreinheit()) {
doConvertFromCelsiusToFahrenheit();
}
}
private void doConvertFromCelsiusToFahrenheit(){
String celsiusStringValue = inputFragment.getCelsiusValue();
double celsiusValue = Double.parseDouble(celsiusStringValue);
double fahrenheitValue = ((celsiusValue * 9) / 5 ) + 32;
outputFragment.setOutput(String.valueOf(fahrenheitValue) + "F");
}
这里是 InputFragment.java 类的 isConvertFromCelsiusToFahrenheit() 的代码
public boolean isConvertFromFahrenheitToCelsius() {
if (inputFahrenheit.getText() != null
&& inputFahrenheit.getText().toString().trim().length() > 0) {
return true;
}
return false;
}
public boolean isConvertFromCelsiusToFahreinheit(){
return !isConvertFromCelsiusToFahreinheit();
}