Note that there are some explanatory texts on larger screens.

plurals
  1. POaddition in my android calculator doesn't work fully
    primarykey
    data
    text
    <p>I have made an android calculator. Though it isn't completely as a normal calculator. In normal calculators, when we add up two numbers, suppose 5+5 and we click any of these, /*-+=, the number sums up and the new arithmetic logic is implemented on the result. Though it doesn't work for me. Can someone please tell me what changes shall I make in my code? Thank you. :)</p> <pre><code>package com.example.asd; import android.os.Bundle; import android.app.Activity; import android.graphics.Typeface; import android.view.Menu; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.TextView; import android.view.Window; import android.view.View.OnClickListener; public class MainActivity extends Activity { Typeface font1, font2; TextView tv1; private EditText Scr; //textbox screen private float NumberBf; //Save screen before pressing button operation; private String Operation; private ButtonClickListener btnClick; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); requestWindowFeature(Window.FEATURE_NO_TITLE); setContentView(R.layout.activity_main); font1=Typeface.createFromAsset(getAssets(), "digits.ttf"); Scr=(EditText)findViewById(R.id.editText); Scr.setTypeface(font1); font2=Typeface.createFromAsset(getAssets(), "alexbrush.TTF"); tv1=(TextView)findViewById(R.id.textView1); tv1.setTypeface(font2); Scr = (EditText) findViewById(R.id.editText); Scr.setEnabled(false); btnClick = new ButtonClickListener(); int idList[] = {R.id.button0,R.id.button7, R.id.button1, R.id.button8,R.id.button9,R.id.button4, R.id.button5,R.id.button6,R.id.button,R.id.button2,R.id.button3,R.id.buttonDot, R.id.buttonMul,R.id.buttonDiv,R.id.buttonAdd,R.id.buttonSub,R.id.buttonC, R.id.buttonEq, R.id.buttonSqrt, R.id.buttonsquare, R.id.buttonNp }; for(int id:idList){ View v = (View) findViewById(id); v.setOnClickListener(btnClick); } } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.main, menu); return true; } public void mMath(String str){ NumberBf = Float.parseFloat(Scr.getText().toString()); //save the screen Operation = str; //save operation Scr.setText("0"); //Clear screen } public void getKeyboard(String str){ String ScrCurrent = Scr.getText().toString(); if(ScrCurrent.equals("0")) ScrCurrent = ""; ScrCurrent += str; Scr.setText(ScrCurrent); } public void mResult(){ float NumAf = Float.parseFloat(Scr.getText().toString()); float result = 0; if(Operation.equals("+")){ result = NumAf + NumberBf; } if(Operation.equals("-")){ result = NumberBf - NumAf; } if(Operation.equals("*")){ result = NumAf * NumberBf; } if(Operation.equals("/")){ result = NumberBf / NumAf; } Scr.setText(String.format("%10d", result)); } public void fnSqrt(){ double Number = Double.parseDouble(Scr.getText().toString()); Number = Math.sqrt(Number); Scr.setText(String.valueOf(Number)); } public void fnSquare(){ float Number1 = Float.parseFloat(Scr.getText().toString()); Number1 = pow(Number1, 2); Scr.setText(String.valueOf(Number1)); } public void fnNp(){ float Number = Float.parseFloat(Scr.getText().toString()); Number = Number*(-1); Scr.setText(String.valueOf(Number)); } //new class ButtonClickListener private float pow(float number1, int i) { // TODO Auto-generated method stub return number1*number1; } private class ButtonClickListener implements OnClickListener{ public void onClick(View v){ switch (v.getId()){ case R.id.buttonC: //Clear screen Scr.setText("0"); NumberBf = 0; Operation = ""; break; case R.id.buttonAdd: //function Add mMath("+"); break; case R.id.buttonSub: mMath("-"); break; case R.id.buttonMul: mMath("*"); break; case R.id.buttonDiv: mMath("/"); break; case R.id.buttonEq: mResult(); break; case R.id.buttonSqrt: fnSqrt(); break; case R.id.buttonNp: fnNp(); break; case R.id.buttonsquare: fnSquare(); break; default: String numb = ((Button) v).getText().toString(); getKeyboard(numb); break; } } } </code></pre> <p>}</p>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload