2017-06-05 3 views
-1

Meine App einige Berechnungen zu machen versucht und für einen Zustand überprüft und das Drucken der Anordnung von Zahlen, die erfüllen die condition.But die App auf click.Please Hilfe endet ..App Schließen auf die Schaltfläche klicken

package com.example.ganesha.app1; 

import android.support.v7.app.AppCompatActivity; 

import android.support.v7.app.AppCompatActivity; 
import android.os.Bundle; 
import android.view.View; 
import android.widget.Button; 
import android.widget.EditText; 
import android.widget.TextView; 

import static android.R.attr.button; 

public class MainActivity extends AppCompatActivity { 
    private Button result; 
    private EditText cap,pwfac,dis,solution; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
     result = (Button) findViewById(R.id.resbut); 
     cap = (EditText) findViewById(R.id.capacity); 
     pwfac = (EditText) findViewById(R.id.powerfactor); 
     dis = (EditText) findViewById(R.id.distance); 
     solution = (EditText) findViewById(R.id.result); 
     //mytextview = (TextView)findViewById(R.id.result) 

     result.setOnClickListener(new View.OnClickListener() { 

      @Override 
      public void onClick(View view) { 
      Double capacity = Double.valueOf(cap.getText().toString()); 
      Double powerfactor = Double.valueOf(pwfac.getText().toString()); 
      Double distance = Double.valueOf(dis.getText().toString()); 
      Double amps = capacity/(718.80 * powerfactor); 
      Double minimum = 24.9; 
      Double ampspermtr=amps/distance; 
      Double[] cases = {26.8156, 16.4013, 10.2083, 6.8180, 4.0509, 2.5470, 1.6151, 1.1689, 0.8673, 0.6075, 0.4458, 0.3616, 0.3028, 0.2532, 0.2082, 0.1812, 0.1604, 0.1461, 0.1359}; 
      Double [] volts=new Double[19]; 
      for(int i = 0; i <19; i++) 
      { 
       volts[i]=cases[i]*ampspermtr; 
      } 

      Double [] wires={1.50,2.50,4.0,6.0,10.0,16.0,25.0,35.0,50.0,70.0,95.0,120.0,150.0,185.0,240.0,300.0,400.0,500.0,630.0}; 
      final Double [] allpossible = new Double[19]; 
      int c=0; 
      for(int j=0;j<19;j++) 
      { 
       if(volts[j]<minimum) 
       { 
        allpossible[c]=wires[j]; 

       } 
       c++; 
      } 
      final int g= c; 

      for(int p=0;p<g;p++) 
      { 
       String value = Double.toString(allpossible[g]); 
       solution.append(value); 
      } 
     } 
    }); 

Es basiert auf elektrischen Engineering.Can jemand den Fehler finden und mir helfen

+5

Mögliche Duplikat [Leider MeineAnw gestoppt hat. Wie kann ich das lösen?] (Https://stackoverflow.com/questions/23353173/unidymy-myapp-has-stopped-how-can-i-solve-this) – Selvin

Antwort

1
aus

Eigentlich gibt einige Ausnahme trat in Sie Berechnung in OnClick von Button sollten Sie die Berechnung Code Surround wi schreiben th try catch Block wie Below

try{ 
Double capacity = Double.valueOf(cap.getText().toString()); 
      Double powerfactor = Double.valueOf(pwfac.getText().toString()); 
      Double distance = Double.valueOf(dis.getText().toString()); 
      Double amps = capacity/(718.80 * powerfactor); 
      Double minimum = 24.9; 
      Double ampspermtr=amps/distance; 
      Double[] cases = {26.8156, 16.4013, 10.2083, 6.8180, 4.0509, 2.5470, 1.6151, 1.1689, 0.8673, 0.6075, 0.4458, 0.3616, 0.3028, 0.2532, 0.2082, 0.1812, 0.1604, 0.1461, 0.1359}; 
      Double [] volts=new Double[19]; 
      for(int i = 0; i <19; i++) 
      { 
       volts[i]=cases[i]*ampspermtr; 

      } 
      Double [] wires={1.50,2.50,4.0,6.0,10.0,16.0,25.0,35.0,50.0,70.0,95.0,120.0,150.0,185.0,240.0,300.0,400.0,500.0,630.0}; 
      final Double [] allpossible = new Double[19]; 
      int c=0; 
      for(int j=0;j<19;j++) 
      { 
       if(volts[j]<minimum) 
       { 
        allpossible[c]=wires[j]; 

       } 
       c++; 
      } 
      final int g= c; 

      for(int p=0;p<g;p++) 
     { 

      String value = Double.toString(allpossible[g]); 
      solution.append(value); 
     } 
     } 

}Catch(Exception ex){ 
// handle your Exception here 
} 
+0

Nicht sicher, wie das hilft, aber ignoriert das Problem . – Doomsknight

+0

es wird Ihre Kraft schließen Problem zu überwinden, aber Sie müssen die Ausnahme auf OnClick behandeln –

+0

Es hat seine Vorteile ja. Aber ich frage mich immer noch, warum es an erster Stelle – Doomsknight

Verwandte Themen