2015-07-01 16 views
-2
package com.example.android.mycalculator; 

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


    public class MainActivity extends ActionBarActivity { 
     int qty = 0; 
     @Override 
     protected void onCreate(Bundle savedInstanceState) { 
      super.onCreate(savedInstanceState); 
      setContentView(R.layout.activity_main); 

String val = ((EditText)findViewById(R.id.input1)).getText().toString(); 
     int num1 = Integer.valueOf(val); 
     String val1 = ((EditText)findViewById(R.id.input2)).getText().toString(); 
     int num2 = Integer.valueOf(val1); 
     } 
     private void display(int number) { 
      TextView quantityTextView = (TextView) findViewById(
        R.id.quantity_text_view); 
      quantityTextView.setText("" + number); 
     } 
    /*for getting the input values into some variable**/ 



    /* for adding the input numbers**/ 
     public void add(View view){ 
      qty = num1 + num2; 
      display(qty); 

     } 
/*for subtracting two input numbs**/ 
     public void subtract(View view){ 
      qty = num1 - num2; 
      display(qty); 
     } 
     public void divide(View view){ 
      qty = num1/num2; 
      display(qty); 
     } 
     public void multiply(View view){ 
      qty = num1 * num2; 
      display(qty); 
     } 
    } 

当我通过android studio在我的设备上运行代码时,代码崩溃了。 我对代码有疑问,因为我是编码方面的初学者。请找出它的错误。该程序需要两个输入数字,并执行加法,减法,除法和相乘等操作。然后它将输出显示为下面的TextView。程序在计算机中运行良好,但在设备上崩溃。运行时没有显示错误。我在android工作室制作的计算器应用程序的java代码。它崩溃了

+0

你究竟在哪里调用你的任何函数? – bigC5012

+0

我想你可以从xml onClick中调用方法。带来错误的logcat,所以我们可以帮助 – yshahak

+0

[不幸的是,MyApp已经停止。我怎样才能解决这个问题?](http://stackoverflow.com/questions/23353173/uncomfort-myapp-has-stopped-how-can-i-solve-this/) – nhaarman

回答

0
String val = ((EditText)findViewById(R.id.input1)).getText().toString(); 

你必须移动到的onCreate

+0

请向OP提供更多的细节 –

0

欢迎StackOverFlow.com!

我建议每一个你犯了一个问题,如果您有任何例外的时间尝试后在logcat中显示的消息: http://developer.android.com/tools/debugging/debugging-log.html

一个简短的阅读的基本知识都必须按规定= P 加一个方法来设置setValues()

这个代码将根据你的代码做的工作在Android电子计算器在EditTexts定义的值:

public class MainActivity extends ActionBarActivity { 

    /*for getting the input values into some variable**/ 
    String val; 
    private int num1; 
    String val1; 
    private int num2; 

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

    } 
    private void display(int number) { 
     TextView quantityTextView = (TextView) findViewById(
       R.id.quantity_text_view); 
     quantityTextView.setText("" + number); 
    } 


    public void setValues(){ 
     try{      
      val = ((EditText)findViewById(R.id.input1)).getText().toString(); 
      num1 = Integer.valueOf(val); 
      val1 = ((EditText)findViewById(R.id.input2)).getText().toString(); 
      num2 = Integer.valueOf(val1); 
     }catch(Exception e){ 
      Toast.makeText(getApplicationContext(), "Please check your values!", Toast.LENGTH_LONG).show(); 
     } 
    }   

    /* for adding the input numbers**/ 
    public void add(View view){ 
     setValues(); 
     qty = num1 + num2; 
     display(qty); 
    }  

    /*for subtracting two input numbs**/ 
    public void substract(View view){ 
     setValues(); 
     qty = num1 - num2; 
     display(qty); 
    } 
    public void divide(View view){ 
     setValues(); 
     qty = num1/num2; 
     display(qty); 
    } 
    public void multiply(View view){ 
     setValues(); 
     qty = num1 * num2; 
     display(qty); 
    } 
} 
相关问题