运行程序时,android虚拟机提示Unfortunately,XXX has stopped.

java :

package com.ddup.study;


import android.app.Activity;

import android.os.Bundle;

import android.view.View;

import android.view.View.OnClickListener;

import android.widget.Button;

import android.widget.EditText;


public  class MainActivity extends Activity implements OnClickListener{

boolean needclear;

//初始化按键

private Button btn_0 = (Button) findViewById(R.id.btn_0);

private Button btn_1 = (Button) findViewById(R.id.btn_1);

private Button btn_2 = (Button) findViewById(R.id.btn_2);

private Button btn_3 = (Button) findViewById(R.id.btn_3);

private Button btn_4 = (Button) findViewById(R.id.btn_4);

private Button btn_5 = (Button) findViewById(R.id.btn_5);

private Button btn_6 = (Button) findViewById(R.id.btn_6);

private Button btn_7 = (Button) findViewById(R.id.btn_7);

private Button btn_8 = (Button) findViewById(R.id.btn_8);

private Button btn_9 = (Button) findViewById(R.id.btn_9);

private Button btn_point = (Button) findViewById(R.id.btn_point);

private Button btn_clear = (Button) findViewById(R.id.btn_clear);

private Button btn_delete = (Button) findViewById(R.id.btn_delete);

private Button btn_add = (Button) findViewById(R.id.btn_add);

private Button btn_less = (Button) findViewById(R.id.btn_less);

private Button btn_multiply = (Button) findViewById(R.id.btn_multiply);

private Button btn_divide = (Button) findViewById(R.id.btn_divide);

private Button btn_equal = (Button) findViewById(R.id.btn_equal);

private EditText et_input = (EditText) findViewById(R.id.et_input);

//在onCreate()方法中实现对按键的监听

protected void onCreate(Bundle savedInstanceState){

super.onCreate(savedInstanceState);

setContentView(R.layout.jsq);

//按键点击监听

btn_0.setOnClickListener(this);

btn_1.setOnClickListener(this);

btn_2.setOnClickListener(this);

btn_3.setOnClickListener(this);

btn_4.setOnClickListener(this);

btn_5.setOnClickListener(this);

btn_6.setOnClickListener(this);

btn_7.setOnClickListener(this);

btn_8.setOnClickListener(this);

btn_9.setOnClickListener(this);

btn_point.setOnClickListener(this);

btn_clear.setOnClickListener(this);

btn_delete.setOnClickListener(this);

btn_add.setOnClickListener(this);

btn_less.setOnClickListener(this);

btn_multiply.setOnClickListener(this);

btn_divide.setOnClickListener(this);

btn_equal.setOnClickListener(this);

}


//实现点击事件(即点击按钮之后显示在计算器屏幕上)

@Override

public void onClick(View v) {

String str = et_input.getText().toString();

switch (v.getId()) {

case R.id.btn_0:

case R.id.btn_1:

case R.id.btn_2:

case R.id.btn_3:

case R.id.btn_4:

case R.id.btn_5:

case R.id.btn_6:

case R.id.btn_7:

case R.id.btn_8:

case R.id.btn_9:

case R.id.btn_point:

if(needclear){

str = "";

et_input.setText("");

}

et_input.setText(str + ((Button) v).getText());

break;

case R.id.btn_add:

case R.id.btn_less:

case R.id.btn_multiply:

case R.id.btn_divide:

if(needclear){

et_input.setText("");

}

et_input.setText(str +" "+((Button) v).getText()+" ");

break;

case R.id.btn_equal:

getResult();

break;

case R.id.btn_delete:

if (str != null && !str.equals("")) {

et_input.setText(str.substring(0, str.length() - 1));

}

break;

case R.id.btn_clear:

et_input.setText("");

break;

}

}

//计算结果

private void getResult(){

needclear = true;

String exp = et_input.getText().toString();

double r = 0;

   int space = exp.indexOf(' ');//用于搜索空格位置

       String s1 = exp.substring(0, space);//s1用于保存第一个运算数

       String op = exp.substring(space + 1, space + 2);//op用于保存运算符

       String s2 = exp.substring(space + 3);//s2用于保存第二个运算数

       double arg1 = Double.parseDouble(s1);//将运算数从string转换为Single

       double arg2 = Double.parseDouble(s2);

       if(op.equals("+")){

        r = arg1 + arg2;

       }else if(op.equals("-")){

        r = arg1 - arg2;

       }else if(op.equals("×")){

        r = arg1 * arg2;

       }else if(op.equals("÷")){

        if (arg2 == 0)

            {

               r=0;

            }

            else

            {

                r = arg1 / arg2;

            }

       }       

       if(!s1.contains(".")&&!s2.contains(".")){

        int result = (int)r;

        et_input.setText(result+"");

       }else{

        et_input.setText(r+"");

       }

}

}


配置清单xml:

<?xml version="1.0" encoding="utf-8"?>

<manifest xmlns:android="http://schemas.android.com/apk/res/android"

    package="com.ddup.study"

    android:versionCode="1"

    android:versionName="1.0" >


    <uses-sdk

        android:minSdkVersion="8"

        android:targetSdkVersion="19" />


    <application

        android:allowBackup="true"

        android:icon="@drawable/ic_launcher"

        android:label="@string/app_name"

        android:theme="@style/AppTheme" >

        <activity

            android:name="com.ddup.study.MainActivity"

            android:theme="@android:style/Theme.Black.NoTitleBar"

            android:label="@string/app_name" >

            <intent-filter>

                <action android:name="android.intent.action.MAIN" />


                <category android:name="android.intent.category.LAUNCHER" />

            </intent-filter>

        </activity>

         

    </application>


</manifest>


nerd_me
浏览 5209回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Android
Java