Public com 2 variaveis não retorna valor
20/01/2017
0
Olá pessoal! Sou iniciante em android e preciso da ajuda de voces! Tenho 3 publics que deveriam retornar um valor de cálculo para eu apresentar na tela da Activity. A primeira, volume_agua_mehta(), retorna normalmente, porém a segunda, massa_brita_mehta(), e a terceira, agua_material_cimentício_mehta(), retornam NaN na TextView. Queria saber o que estou fazendo de errado.
Aqui estão as publics que uso:
Essas publics estão apresentadas da segunte forma:
NA CLASSE DOSAGEM_DADOS_GERAIS
NA CLASSE CALCULO MEHTA
NA CLASSE RESULTADO
Aqui estão as publics que uso:
public double volume_agua_mehta(){ return resultado = 221.91 * exp((-0.005)*resistencia_concreto); } public double massa_brita_mehta(){ return resultado = (130 * 5 + 0.319 * Math.log(resistencia_concreto) - 3.332)) * massa_especifica_sss_brita; } public double agua_material_cimentício_mehta(){ Calculo_Mehta Calculo_Mehta = new Calculo_Mehta(); double volume_agua_mehta = Calculo_Mehta.volume_agua_mehta(); double massa_cimento_mehta = Calculo_Mehta.massa_cimento_mehta(); double massa_aditivo_mineral1_mehta = Calculo_Mehta.massa_aditivo_mineral1_mehta(); double massa_aditivo_minera2_mehta = Calculo_Mehta.massa_aditivo_minera2_mehta(); return resultado = volume_agua_mehta/(massa_cimento_mehta+massa_aditivo_mineral1_mehta+massa_aditivo_minera2_mehta); }
Essas publics estão apresentadas da segunte forma:
NA CLASSE DOSAGEM_DADOS_GERAIS
public EditText txt_resistencia_concreto; public EditText txt_massa_especifica_sss_brita; protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_dosagem__dados__gerais); txt_resistencia_concreto=(EditText)findViewById(R.id.txt_resistencia_concreto); txt_massa_especifica_sss_areia = (EditText)findViewById(R.id.txt_massa_especifica_sss_areia); final Button btn_proximo_dados_gerais = (Button) findViewById(R.id.btn_proximo_dados_gerais); btn_proximo_dados_gerais.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { //AQUI SÃO FEITAS VERIFICAÇÕES SE OS EDITTEXTS ESTÃO PREENCHIDOS, VOU PULAR ESSA PARTE E IR DIRETO AO PONTO Intent it_mehta = new Intent(Dosagem_Dados_Gerais.this, Calculo_Mehta.class); it_mehta.putExtra("resistencia_concreto", txt_resistencia_concreto.getText().toString()); it_mehta.putExtra("massa_especifica_sss_brita", txt_massa_especifica_sss_brita.getText().toString()); startActivity(it_mehta); } }
NA CLASSE CALCULO MEHTA
public double massa_especifica_sss_brita; protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); String txt_resistencia_concreto = getIntent().getStringExtra("resistencia_concreto"); //Recuperar na string resistencia_concreto=Double.parseDouble(txt_resistencia_concreto); //Passando para double String txt_massa_especifica_sss_brita= getIntent().getStringExtra("massa_especifica_sss_brita"); massa_especifica_sss_brita=Double.parseDouble(txt_massa_especifica_sss_brita); } //DEPOIS DAQUI VEM AQUELAS PUBLICS QUE MOSTREI NO INICIO DO POST
NA CLASSE RESULTADO
public TextView resultado_agua; public TextView resultado_brita; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_resultado); resultado_agua = (TextView)findViewById(R.id.txt_resultado_agua); resultado_brita = (TextView)findViewById(R.id.txt_resultado_brita); final Button btn_calcular_dosagem = (Button) findViewById(R.id.btn_calcular_dosagem); btn_calcular_dosagem.setOnClickListener(new View.OnClickListener() { volume = Double.parseDouble(resultado_volume.getText().toString()); public void onClick (View View) { Calculo_Mehta Calculo_Mehta = new Calculo_Mehta(); //ESSE PRIMEIRO FUNCIONA E MOSTRA NO EDIT TEXT PERFEITAMENTE double massa_agua_ponto_saturacao_superplastificante_mehta = Calculo_Mehta.volume_agua_mehta()*volume; //Massa água String stg_resultado_agua_mehta = Double.toString(massa_agua_ponto_saturacao_superplastificante_mehta); resultado_agua.setText(stg_resultado_agua_mehta); //ESSE NÃO FUNCIONA double massa_brita_mehta = (Calculo_Mehta.massa_brita_mehta(Calculo_Mehta.resistencia_concreto,Calculo_Mehta.massa_especifica_sss_brita))*volume; //Massa brita String stg_brita_mehta_mehta = Double.toString(massa_brita_mehta); resultado_brita.setText(stg_brita_mehta_mehta); } }
Ana Waldila
Curtir tópico
+ 0
Responder
Posts
26/01/2017
Jones Granatyr
Olá! Sugiro você verificar as conversões de string para float, parece que está dando problema nesta parte
Responder
26/01/2017
João Lima
Da uma olhada nas conversões de String para float, pelo que percebi visualmente ta tendo problema nessa parte se não retorna o valor
Responder
Clique aqui para fazer login e interagir na Comunidade :)