shivamDev31
shivamDev31

Reputation: 469

Facing calculator app error in android

Friends I searched a lot but didnt get answer of my question. I am trying to make an android calculator. A simple one , actually its just a single module of my bigger app...

In this firstly I need users to enter 1st and 2nd sunber and select if he would like to add, sub, mul, divide or get mod..Then there is a textview in which result would be displayed.

This is the code I am using :

Java code:

package com.droidacid.apticalc;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;

public class numSys extends Activity{


EditText etnumber1;
EditText etnumber2;

Button badd;
Button bsub;
Button bmul;
Button bdiv;
Button bmod;

@Override
protected void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);
    setContentView(R.layout.numsys);

    etnumber1 = (EditText) findViewById(R.id.number1);
    etnumber2 = (EditText) findViewById(R.id.number2);



    String number1 = etnumber1.getText().toString();
    String number2 = etnumber2.getText().toString();

    final Double number1D = Double.parseDouble(number1);
    final Double number2D = Double.parseDouble(number2);

badd.setOnClickListener(new View.OnClickListener() {

    @Override
    public void onClick(View v) {
        // TODO Auto-generated method stub

    double resultD = number1D + number2D;
    String result = "result :"+resultD;
    TextView tvresult = (TextView) findViewById(R.id.tvresult);
    tvresult.setText(result);
    }
});

bsub.setOnClickListener(new View.OnClickListener() {

    @Override
    public void onClick(View v) {
        // TODO Auto-generated method stub

    double resultD = number1D - number2D;
    String result = "result :"+resultD;
    TextView tvresult = (TextView) findViewById(R.id.tvresult);
    tvresult.setText(result);
    }
});

bmul.setOnClickListener(new View.OnClickListener() {

@Override
public void onClick(View v) {
    // TODO Auto-generated method stub

double resultD = number1D * number2D;
String result = "result :"+resultD;
TextView tvresult = (TextView) findViewById(R.id.tvresult);
tvresult.setText(result);
}
});

bdiv.setOnClickListener(new View.OnClickListener() {

@Override
public void onClick(View v) {
    // TODO Auto-generated method stub

double resultD = number1D / number2D;
String result = "result :"+resultD;
TextView tvresult = (TextView) findViewById(R.id.tvresult);
tvresult.setText(result);
}
});

bmod.setOnClickListener(new View.OnClickListener() {

@Override
public void onClick(View v) {
    // TODO Auto-generated method stub

double resultD = number1D % number2D;
String result = "result :"+resultD;
TextView tvresult = (TextView) findViewById(R.id.tvresult);
tvresult.setText(result);
}
});



}

 }

This is the logcat error :

05-04 10:24:18.098: E/AndroidRuntime(1321): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.droidacid.apticalc/com.droidacid.apticalc.numSys}: java.lang.NumberFormatException: 

Please dont rate this post as negative. I am just trying to learn and trying to solve this issue since last more than 24 hours. Tried everything posted on Stack Overflow.

Thanks

Upvotes: 0

Views: 159

Answers (3)

Fakia Shahid
Fakia Shahid

Reputation: 1

at android.app.ApplicationPackageManager.getResourcesForApplication(ApplicationPackageManager.java:1764)
                                                                                                    at android.app.ApplicationPackageManager.getResourcesForApplication(ApplicationPackageManager.java:1750)
                                                                                                    at android.app.ApplicationPackageManager.getDrawable(ApplicationPackageManager.java:1519)
                                                                                                    at android.app.ApplicationPackageManager.loadUnbadgedItemIcon(ApplicationPackageManager.java:3106)
                                                                                                    at android.content.pm.PackageItemInfo.loadUnbadgedIcon(PackageItemInfo.java:301)
                                                                                                    at com.android.systemui.toast.SystemUIToast.getBadgedIcon(SystemUIToast.java:307)
                                                                                                    at com.android.systemui.toast.SystemUIToast.inflateToastView(SystemUIToast.java:209)
                                                                                                    at com.android.systemui.toast.SystemUIToast.<init>(SystemUIToast.java:92)
                                                                                                    at com.android.systemui.toast.SystemUIToast.<init>(SystemUIToast.java:79)
                                                                                                    at com.android.systemui.toast.ToastFactory.createToast(ToastFactory.java:78)
                                                                                                    at com.android.systemui.toast.ToastUI.lambda$showToast$0$ToastUI(ToastUI.java:113)
                                                                                                    at com.android.systemui.toast.-$$Lambda$ToastUI$w_gPCh3F8Xxn1jN4lkQZoUci71c.run(Unknown Source:16)
                                                                                                    at com.android.systemui.toast.ToastUI.showToast(ToastUI.java:140)
                                                                                                    at com.android.systemui.statusbar.CommandQueue$H.handleMessage(CommandQueue.java:1474)
                                                                                                    at android.os.Handler.dispatchMessage(Handler.java:106)
                                                                                                    at android.os.Looper.loopOnce(Looper.java:241)
                                                                                                    at android.os.Looper.loop(Looper.java:342)
                                                                                                    at android.app.ActivityThread.main(ActivityThread.java:8143)
                                                                                                    at java.lang.reflect.Method.invoke(Native Method)
                                                                                                    at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:583)
                                                                                                    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1045)

2024-06-10 19:10:01.238 11289-11341 OpenGLRenderer com.example.mysimplequizapplication E EglManager::makeCurrent mED = 0xb400007100f0df90, s

Upvotes: 0

Sander van&#39;t Veer
Sander van&#39;t Veer

Reputation: 5980

This might be your problem:

    String number1 = etnumber1.getText().toString();
    String number2 = etnumber2.getText().toString();

    final Double number1D = Double.parseDouble(number1);
    final Double number2D = Double.parseDouble(number2);

You're trying to parse an, at this point, empty EditText into a Double value. Either that, or you have some default text in the EditText that you're trying to parse.

This (probably) causes the NumberFormatException.

Upvotes: 1

Blackbelt
Blackbelt

Reputation: 157447

final Double number1D = Double.parseDouble(number1);
final Double number2D = Double.parseDouble(number2);

the exception means that number1 or number2 can not be converted to double. Try to trim the number1 and number2 string

Upvotes: 0

Related Questions