我正在實現一個程序,應該從攝氏度計算華氏溫度,否則。但是,如果我啓動該程序,當點擊「計算」按鈕時它會崩潰。在Java我得到以下錯誤,當方法開始於行72Android崩潰java.lang.stackoverflowError
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();
}
後的代碼 – Blackbelt
我懷疑不當退出 – sanbhat
遞歸方法不要發佈logcat的快照相關片段。張貼它作爲你的問題中的文本 –