gpt4 book ai didi

java - Android 因 java.lang.stackoverflowError 崩溃

转载 作者:行者123 更新时间:2023-12-01 17:21:42 27 4
gpt4 key购买 nike

我正在实现一个程序,该程序应该从摄氏度计算到华氏度等。但是,如果我启动该程序,当我单击“计算”按钮时它就会崩溃。在 Java 中,当方法在第 72 行启动时,出现以下错误

enter image description here

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)

这里是 Activity 类的代码,相关方法:

    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();
}

最佳答案

这就是你的问题

   public boolean isConvertFromCelsiusToFahreinheit(){
return !isConvertFromCelsiusToFahreinheit();
}

方法isConvertFromCelsiusToFahreinheit正在递归调用自身

关于java - Android 因 java.lang.stackoverflowError 崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18308815/

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