StackOverflowError when using a method

0

Next, I'm developing an application. In it there are two calculation methods, where in the data entry the user chooses the method and inserts the data. One of these methods is working perfectly. The other causes the problem of the following figure.

Idonotknowifmyquestionisvague...Iapologizeforthat.

IemphasizethatthedifferencebetweenonecalculationandanotheristhatwhatisgivingerrorhastheselectionandsendingofdatainspinnerformtotheotherActivity.Coulditbethat?

I/art:BackgroundstickyconcurrentmarksweepGCfreed29379(2MB)AllocSpaceobjects,0(0B)LOSobjects,0%free,83MB/83MB,paused96.984mstotal175.964msI/art:BackgroundpartialconcurrentmarksweepGCfreed34691(2MB)AllocSpaceobjects,14(41MB)LOSobjects,14%free,47MB/55MB,paused732ustotal146.057msI/art:BackgroundpartialconcurrentmarksweepGCfreed48902(3MB)AllocSpaceobjects,3(4MB)LOSobjects,12%free,55MB/63MB,paused793ustotal125.335msI/art:BackgroundpartialconcurrentmarksweepGCfreed41873(3MB)AllocSpaceobjects,2(10MB)LOSobjects,12%free,54MB/62MB,paused762ustotal130.004msI/art:BackgroundpartialconcurrentmarksweepGCfreed41159(3MB)AllocSpaceobjects,1(9MB)LOSobjects,11%free,59MB/67MB,paused793ustotal124.847msD/Error:ERR:exClass=java.lang.StackOverflowErrorD/Error:ERR:exMsg=stacksize8MBD/Error:ERR:file=Resultado.javaD/Error:ERR:class=uerj.dcad.ResultadoD/Error:ERR:method=massa_superplastificante_solidos_aitcinline=400D/Error:ERR:stack=java.lang.StackOverflowError:stacksize8MBatuerj.dcad.Resultado.massa_superplastificante_solidos_aitcin(Resultado.java:400)atuerj.dcad.Resultado.massa_superplastificante_aitcin(Resultado.java:406)atuerj.dcad.Resultado.volume_superplastificante_solidos_aitcin(Resultado.java:418)atuerj.dcad.Resultado.volume_areia_atcin(Resultado.java:492)atuerj.dcad.Resultado.massa_areia_aitcin(Resultado.java:498)atuerj.dcad.Resultado.correcao_agua_areia_aitcin(Resultado.java:369)atuerj.dcad.Resultado.massa_areia_aitcin(Resultado.java:498)atuerj.dcad.Resultado.correcao_agua_areia_aitcin(Resultado.java:369)atuerj.dcad.Resultado.massa_areia_aitcin(Resultado.java:498)atuerj.dcad.Resultado.correcao_agua_areia_aitcin(Resultado.java:369)atuerj.dcad.Resultado.massa_areia_aitcin(Resultado.java:498)atuerj.dcad.Resultado.correcao_agua_areia_aitcin(Resultado.java:369)atuerj.dcad.Resultado.massa_areia_aitcin(Resultado.java:498)atuerj.dcad.Resultado.correcao_agua_areia_aitcin(Resultado.java:369)atuerj.dcad.Resultado.massa_areia_aitcin(Resultado.java:498)atuerj.dcad.Resultado.correcao_agua_areia_aitcin(Resultado.java:369)atuerj.dcad.Resultado.massa_areia_aitcin(Resultado.java:498)atuerj.dcad.Resultado.correcao_agua_areia_aitcin(Resultado.java:369)atuerj.dcad.Resultado.massa_areia_aitcin(Resultado.java:498)atuerj.dcad.Resultado.correcao_agua_areia_aitcin(Resultado.java:369)atuerj.dcad.Resultado.massa_areia_aitcin(Resultado.java:498)atuerj.dcad.Resultado.correcao_agua_areia_aitcin(Resultado.java:369)atuerj.dcad.Resultado.massa_areia_aitcin(Resultado.java:498)atuerj.dcad.Resultado.correcao_agua_areia_aitcin(Resultado.java:369)atuerj.dcad.Resultado.massa_areia_aitcin(Resultado.java:498)atuerj.dcad.Resultado.correcao_agua_areia_aitcin(Resultado.java:369)atuerj.dcad.Resultado.massa_areia_aitcin(Resultado.java:498)atuerj.dcad.Resultado.correcao_agua_areia_aitcin(Resultado.java:369)atuerj.dcad.Resultado.massa_areia_aitcin(Resultado.java:498)atuerj.dcad.Resultado.correcao_agua_areia_aitcin(Resultado.java:369)atuerj.dcad.Resultado.massa_areia_aitcin(Resultado.java:498)atuerj.dcad.Resultado.correcao_agua_areia_aitcin(Resultado.java:369)atuerj.dcad.Resultado.massa_areia_aitcin(Resultado.java:498)atuerj.dcad.Resultado.correcao_agua_areia_aitcin(Resultado.java:369)atuerj.dcad.Resultado.massa_areia_aitcin(Resultado.java:498)atuerj.dcad.Resultado.correcao_agua_areia_aitcin(Resultado.java:369)atuerj.dcad.Resultado.massa_areia_aitcin(Resultado.java:498)atuerj.dcad.Resultado.correcao_agua_areia_aitcin(Resultado.java:369)atuerj.dcad.Resultado.massa_areia_aitcin(Resultado.java:498)atuerj.dcad.Resultado.correcao_agua_areia_aitcin(Resultado.java:369)atuerj.dcad.Resultado.massa_areia_aitcin(Resultado.java:498)atuerj.dcad.Resultado.correcao_agua_areia_aitcin(Resultado.java:369)atuerj.dcad.Resultado.massa_areia_aitcin(Resultado.java:498)atuerj.dcad.Resultado.correcao_agua_areia_aitcin(Resultado.java:369)atuerj.dcad.Resultado.massa_areia_aitcin(Resultado.java:498)atuerj.dcad.Resultado.correcao_agua_areia_aitcin(Resultado.java:369)atuerj.dcad.Resultado.massa_areia_aitcin(Resultado.java:498)atuerj.dcad.Resultado.correcao_agua_areia_aitcin(Resultado.java:369)atuerj.dcad.Resultado.massa_areia_aitcin(Resultado.java:498)atuerj.dcad.Resultado.correcao_agua_areia_aitcin(Resultado.java:369)atuerj.dcad.Resultado.massa_areia_aitcin(Resultado.java:498)atuerj.dcad.Resultado.correcao_agua_areia_aitcin(Resultado.java:369)atuerj.dcad.Resultado.massa_areia_aitcin(Resultado.java:498)atuerj.dcad.Resultado.correcao_agua_areia_aitcin(Resultado.java:369)atuerj.dcad.Resultado.massa_areia_aitcin(Resultado.java:498)atuerj.dcad.Resultado.correcao_agua_areia_aitcin(Resultado.java:369)atuerj.dcad.Resultado.massa_areia_aitcin(Resultado.java:498)atuerj.dcad.Resultado.correcao_agua_areia_aitcin(Resultado.java:369)atuerj.dcad.Resultado.massa_areia_aitcin(Resultado.java:498)atuerj.dcad.ResultadoI/art:BackgroundpartialconcurrentmarksweepGCfreed36(2816B)AllocSpaceobjects,1(13MB)LOSobjects,10%free,69MB/77MB,paused946ustotal156.280msD/Error:ERR:TOTALBYTESWRITTEN:12750340E/JavaBinder:!!!FAILEDBINDERTRANSACTION!!!E/AndroidRuntime:Errorreportingcrashandroid.os.TransactionTooLargeExceptionatandroid.os.BinderProxy.transactNative(NativeMethod)atandroid.os.BinderProxy.transact(Binder.java:496)atandroid.app.ActivityManagerProxy.handleApplicationCrash(ActivityManagerNative.java:4386)atcom.android.internal.os.RuntimeInit$UncaughtHandler.uncaughtException(RuntimeInit.java:95)atjava.lang.ThreadGroup.uncaughtException(ThreadGroup.java:693)atjava.lang.ThreadGroup.uncaughtException(ThreadGroup.java:690)I/Process:Sendingsignal.PID:25625SIG:9DisconnectedfromthetargetVM,address:'localhost:8601',transport:'socket'

CalculationFunctions

public double agua_material_cimenticio_aitcin(){ // RESULTADO

        return resultado = -log(resistencia_concreto/523.17)/6.255;

    }

    private double massa_agua_ponto_saturacao_superplastificante_aitcin(){

        return resultado = 8.9286 * ponto_saturacao * ponto_saturacao + 29.643 * ponto_saturacao + 101.21;

    }

    public double massa_agua_final_aitcin(){ // RESULTADO

        // correcao_agua_superplastificante_aitcin() = massa_superplastificante_agua_aitcin()

        return resultado = massa_agua_ponto_saturacao_superplastificante_aitcin()-massa_superplastificante_agua_aitcin()+correcao_agua_areia_aitcin()+correcao_agua_brita_aitcin();

    }

    public double correcao_agua_brita_aitcin(){

        return resultado = (-1)*massa_brita_aitcin()*(teor_agua_brita-absorcao_agua_brita)/100;

    }

    public double correcao_agua_areia_aitcin(){

        return resultado = (-1)*massa_areia_aitcin()*(teor_agua_areia-absorcao_agua_areia)/100;

    }

    public double massa_aditivo_mineral1_aitcin(){ // RESULTADO

        return resultado = teor_aditivo_mineral1*massa_agua_ponto_saturacao_superplastificante_aitcin()/(100*agua_material_cimenticio_aitcin());

    }

    public double massa_aditivo_mineral2_aitcin(){ // RESULTADO

        return resultado = teor_aditivo_mineral2*massa_agua_ponto_saturacao_superplastificante_aitcin()/(100*agua_material_cimenticio_aitcin());

    }

    public double massa_superplastificante_aitcin(){ //RESULTADO

        double massa_superplastificante_solidos_aitcin = ponto_saturacao*massa_agua_ponto_saturacao_superplastificante_aitcin()/agua_material_cimenticio_aitcin();

        return resultado = 100*massa_superplastificante_solidos_aitcin/teor_solidos;

    }

    public double massa_superplastificante_agua_aitcin(){

        double massa_superplastificante_solidos_aitcin = ponto_saturacao*massa_agua_ponto_saturacao_superplastificante_aitcin()/agua_material_cimenticio_aitcin();

        return resultado = massa_superplastificante_aitcin()-massa_superplastificante_solidos_aitcin;

    }

    public double massa_cimento_aitcin(){ // RESULTADO

        return resultado = (massa_agua_ponto_saturacao_superplastificante_aitcin()/agua_material_cimenticio_aitcin())-massa_aditivo_mineral1_aitcin()-massa_aditivo_mineral2_aitcin();

    }

    public double massa_brita_aitcin(){

        if (formato_agregado.equals("Alongado")){

            resultado_formato_agregado = 950;

        }else if (formato_agregado.equals("Alongado à Lamelar")){

            resultado_formato_agregado = 975;

        }else if (formato_agregado.equals("Lamelar")){

            resultado_formato_agregado = 1000;

        }else if (formato_agregado.equals("Lamelar à Médio")){

            resultado_formato_agregado = 1025;

        }else if (formato_agregado.equals("Médio")){

            resultado_formato_agregado = 1050;

        }else if (formato_agregado.equals("Médio à Cúbico")){

            resultado_formato_agregado = 1075;

        }else if (formato_agregado.equals("Cúbico")){

            resultado_formato_agregado = 1100;

        }else if (formato_agregado.equals("Cúbico à Arredondado")){

            resultado_formato_agregado = 1125;

        }else if (formato_agregado.equals("Arredondado")){

            resultado_formato_agregado = 1150;

        }

        return resultado = resultado_formato_agregado - correcao_agua_brita_aitcin();

    }

    public double volume_areia_atcin(){

        double volume_superplastificante_solidos_aitcin = (massa_superplastificante_aitcin()/massa_especifica_aditivo_quimico)-massa_superplastificante_agua_aitcin();
        double volume_cimento_aitcin = massa_cimento_aitcin()/massa_especifica_cimento;
        double volume_aditivo_mineral1_aitcin = massa_aditivo_mineral1_aitcin()/massa_especifica_aditivo_mineral1;
        double volume_aditivo_mineral2_aitcin = massa_aditivo_mineral2_aitcin()/massa_especifica_aditivo_mineral2;
        double volume_brita_aitcin = (massa_brita_aitcin()+correcao_agua_brita_aitcin())/massa_especifica_sss_brita;

        return resultado = 1000-massa_agua_ponto_saturacao_superplastificante_aitcin() - volume_superplastificante_solidos_aitcin - volume_cimento_aitcin - volume_aditivo_mineral1_aitcin - volume_aditivo_mineral2_aitcin - volume_brita_aitcin-10*ar_incorporado;

    }

    public double massa_areia_aitcin(){ // RESULTADO

        return resultado = (volume_areia_atcin()-correcao_agua_areia_aitcin())*massa_especifica_sss_areia;

    }
    
asked by anonymous 25.01.2017 / 00:49

1 answer

0

In this case the error is due to one method calling another which in turn calls the first. This causes an infinite loop , eventually resulting in a StackOverflowError error.

Note the following two methods:

public double correcao_agua_areia_aitcin(){

    return resultado = (-1)*massa_areia_aitcin()*(teor_agua_areia-absorcao_agua_areia)/100;

}

public double massa_areia_aitcin(){ // RESULTADO

    return resultado = (volume_areia_atcin()-correcao_agua_areia_aitcin())*massa_especifica_sss_areia;

}

correcao_agua_areia_aitcin() calls massa_areia_aitcin() which in turn calls correcao_agua_areia_aitcin() .

    
25.01.2017 / 16:49