2017-02-10 1 views
0

App аварии, и я получаю эти ошибки:Почему приложение не работает без ошибок?


FATAL ИСКЛЮЧЕНИЕ: главный процесса: com.example.ayyan.jellybeanestimator, PID: 2960 java.lang.RuntimeException: Невозможно начать деятельность

ComponentInfo {com.example.ayyan.jellybeanestimator/com.example.ayyan.jellybeanestimator.MainActivity}: java.lang.NumberFormatException: пустая строка на android.app.ActivityThread.performLaunchActivity (ActivityThread.java:2646) на android.app.ActivityThread.handleLaunchActivity (ActivityThread.java:2707) на android.app.ActivityThread.-wrap12 (ActivityThread.java) в android.app.ActivityThread $ H.handleMessage (ActivityThread.java:1460) at android.os.Handler.dispatchMessage (Handler.java:102) at android.os.Looper.loop (Looper.java:154) at android.app.ActivityThread.main (ActivityThread.java:6077) at java.lang.reflect.Method.invoke (родной метод) at com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run (ZygoteInit.java:865) at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:755) Причиненный: java.lang. NumberFormatException: пустая строка в java.lang.FloatingDecimal.readJavaFormatString (FloatingDecimal.java:1071) в java.lang.Double.parseDouble (Double.java:547) в com.example.ayyan.jellybeanestimator.MainActivity. onCreate (MainActivity.java:25) at android.app.Activity.performCreate (Activity.java:6662) at android.app.Instrum entation.callActivityOnCreate (Instrumentation.java:1118) на android.app.ActivityThread.performLaunchActivity (ActivityThread.java:2599) на android.app.ActivityThread.handleLaunchActivity (ActivityThread.java:2707) в android.app. ActivityThread.-wrap12 (ActivityThread.java) на android.app.ActivityThread $ H.handleMessage (ActivityThread.java:1460) в android.os.Handler.dispatchMessage (Handler.java:102) в android.os. Looper.loop (Looper.java:154) at android.app.ActivityThread.main (ActivityThread.java:6077) в java.lang.reflect.Method.invoke (Native Method) в com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run (ZygoteInit.java:865) в com.android.internal.os.ZygoteInit. основной (ZygoteInit.java:755)

package com.example.ayyan.jellybeanestimator; 

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

public class MainActivity extends AppCompatActivity { 
EditText jellyBeanLength, jellyBeanDiameter, jarSizeVolume; 
double jellybeantall, jellybeanfat, jellybeanspace; 
double loadFactor = .698; 
TextView answer; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 

    jellyBeanLength = (EditText) findViewById (R.id.length); 
    jellyBeanDiameter = (EditText) findViewById (R.id.diameter); 
    jarSizeVolume = (EditText) findViewById (R.id.jarsize); 
    jellybeantall = Double.parseDouble(jellyBeanLength.getText().toString()); 
    jellybeanfat = Double.parseDouble(jellyBeanDiameter.getText().toString()); 
    jellybeanspace = Double.parseDouble(jarSizeVolume.getText().toString()); 
    answer = (TextView) findViewById (R.id.answer); 
    Button calculate = (Button) findViewById (R.id.calculate); 
    calculate.setOnClickListener(new View.OnClickListener() { 
     public void onClick(View v) { 
      startActivity(new Intent(MainActivity.this, MainActivity.class)); 
     } 
    }); 



    double volumeOfOneJellyBean = ((3.14159265359/6)*(jellybeanfat*jellybeanfat)*jellybeantall); 
    double volumeofBeans = (jellybeanspace*loadFactor); 
    float numberOfBeans = (float)Math.round (volumeofBeans/volumeOfOneJellyBean); 
    answer.setText("You have this amount of beans in your jar" + numberOfBeans); 
} 

} 
+1

«App аварий без ошибок Получение этих ошибок:.» ??? – paxdiablo

+0

У этого есть ошибки. Они просто не компилируют ошибки времени. Не все. Ваша проблема: Caused by: java.lang.NumberFormatException: empty String –

+0

вы конвертируете пустую строку в double, которая не разрешена. Так что сначала проверьте, пуст или нет, чем после разбора :) –

ответ

1

вы должны рассчитать OnClick из button.In код вы не вводите никакого значения и пытается вычислить его.

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 

    jellyBeanLength = (EditText) findViewById (R.id.length); 
    jellyBeanDiameter = (EditText) findViewById (R.id.diameter); 
    jarSizeVolume = (EditText) findViewById (R.id.jarsize); 
    jellybeantall = Double.parseDouble(jellyBeanLength.getText().toString()); 
    jellybeanfat = Double.parseDouble(jellyBeanDiameter.getText().toString()); 
    jellybeanspace = Double.parseDouble(jarSizeVolume.getText().toString()); 
    answer = (TextView) findViewById (R.id.answer); 
    Button calculate = (Button) findViewById (R.id.calculate); 
    calculate.setOnClickListener(new View.OnClickListener() { 
     public void onClick(View v) { 
    double volumeOfOneJellyBean = ((3.14159265359/6)*(jellybeanfat*jellybeanfat)*jellybeantall); 
    double volumeofBeans = (jellybeanspace*loadFactor); 
    float numberOfBeans = (float)Math.round (volumeofBeans/volumeOfOneJellyBean); 
    answer.setText("You have this amount of beans in your jar" + numberOfBeans); 
     } 
    }); 
} 
0

Там нет значения в поле EditText и вы пытаетесь разобрать, что value.Hence ошибка java.lang.NumberFormatException: пустая строка.

1

Проверьте, если у вас есть какие-либо значение, вставленное в EditText тогда только разобрать его в Double

@Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 

     jellyBeanLength = (EditText) findViewById (R.id.length); 
     jellyBeanDiameter = (EditText) findViewById (R.id.diameter); 
     jarSizeVolume = (EditText) findViewById (R.id.jarsize); 

     answer = (TextView) findViewById (R.id.answer); 
     Button calculate = (Button) findViewById (R.id.calculate); 
     calculate.setOnClickListener(new View.OnClickListener() { 
      public void onClick(View v) { 

//Take out value when button pressed 
     jellybeantall = Double.parseDouble(TextUtils.isEmpty(jellyBeanLength.getText().toString())?"0":jellyBeanLength.getText().toString()); 
     jellybeanfat = Double.parseDouble(TextUtils.isEmpty(jellyBeanDiameter.getText().toString())?"0":jellyBeanDiameter.getText().toString()); 
     jellybeanspace = Double.parseDouble(TextUtils.isEmpty(jarSizeVolume.getText().toString())?"0":jarSizeVolume.getText().toString()); 



     double volumeOfOneJellyBean = ((3.14159265359/6)*(jellybeanfat*jellybeanfat)*jellybeantall); 
     double volumeofBeans = (jellybeanspace*loadFactor); 
     float numberOfBeans = (float)Math.round (volumeofBeans/volumeOfOneJellyBean); 
     answer.setText("You have this amount of beans in your jar" + numberOfBeans); 
      } 
     }); 
    } 
-1
@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
    try 
    { 
     jellyBeanLength = (EditText) findViewById (R.id.length); 
     jellyBeanDiameter = (EditText) findViewById (R.id.diameter); 
     jarSizeVolume = (EditText) findViewById (R.id.jarsize); 
     jellybeantall = Double.parseDouble(jellyBeanLength.getText().toString()); 
     jellybeanfat = Double.parseDouble(jellyBeanDiameter.getText().toString()); 
     jellybeanspace = Double.parseDouble(jarSizeVolume.getText().toString()); 
     answer = (TextView) findViewById (R.id.answer); 
     Button calculate = (Button) findViewById (R.id.calculate); 
     calculate.setOnClickListener(new View.OnClickListener() { 
     public void onClick(View v) { 
     double volumeOfOneJellyBean = ((3.14159265359/6)*(jellybeanfat*jellybeanfat)*jellybeantall); 
     double volumeofBeans = (jellybeanspace*loadFactor); 
     float numberOfBeans = (float)Math.round (volumeofBeans/volumeOfOneJellyBean); 
     answer.setText("You have this amount of beans in your jar" + numberOfBeans); 
     } 
     }); 
    } 
    catch (Exception e) 
    { 
     e.printStackTrace(); 
    } 
} 
+0

Просьба предоставить больше контекста для вашего ответа. Код сам по себе не является ответом – jhhoff02

 Смежные вопросы

  • Нет связанных вопросов^_^