Hello Having some troubles Help would be appreciated Create

Hello,

Having some troubles. Help would be appreciated :)

Create the Calculator application described below

Calculator Definition:

We would like an integer calculator that that looks something like (i.e. we don\'t need to deal with floating point for this):

The \"C\" button clears the calculator.

The \"<--\" button is a back space button

The \"+\", \"-\", \"*\", and \"/\" buttons will result in taking the current display and making it the first operand in a calculation. Also note that the operator (i.e. +,-,*,/) is saved until the \"=\" button is pressed. Note that the display is cleared after pressing one of these operators to allow the user to enter in the second operand.

The \"=\" button will take the first operand and the current display value as the second operand. The operation performed is what was saved when the user pressed (+,-,*,/). The result is stored in the display.

Useful things:

TextView and Buttons have the 2 useful methods:

void setText(String) - This can be used to change the value of either a TextView or Button.

CharSequence getText() - returns an object that is almost a string. If you tack on \".toString()\" on the right hand side of what is returned, you will get a String().

The following onClick template might be useful to you:

I have 2 layout files that you could use (The above image was taken with the TableLayout version ... probably the better choice):

LinearLayout.xml

TableLayout.xml

Handy routine

If you like, you can use a handy little routine (your option ... you might like your own code better). I used this routine when I created my published answer.

If you construct this class and call the methods when you get to the appropriate actions in your calculator, this class takes care of the details for you.

CalculatorEvaluation.java

5554: My SecondvideoAvd JH2 3G 4:39 Basic Controls Hardware Buttons MENU DPAD not enabled in AWD Hardware Keyboard Use your physical keyboard to provide input

Solution

I tried to develop

Create Activity: MainActivity

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

<LinearLayout

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

    android:orientation=\"vertical\"

    android:layout_width=\"fill_parent\"

    android:layout_height=\"fill_parent\">

    <LinearLayout

        android:layout_width=\"match_parent\"

        android:layout_height=\"wrap_content\"

        android:id=\"@+id/linearLayout1\"

        android:layout_marginLeft=\"10pt\"

        android:layout_marginRight=\"10pt\"

        android:layout_marginTop=\"3pt\">

        <EditText

            android:layout_weight=\"1\"

            android:layout_height=\"wrap_content\"

            android:layout_marginRight=\"5pt\"

            android:id=\"@+id/etNum1\"

            android:layout_width=\"match_parent\"

            android:inputType=\"numberDecimal\">

        </EditText>

        <EditText

            android:layout_height=\"wrap_content\"

            android:layout_weight=\"1\"

            android:layout_marginLeft=\"5pt\"

            android:id=\"@+id/etNum2\"

            android:layout_width=\"match_parent\"

            android:inputType=\"numberDecimal\">

        </EditText>

    </LinearLayout>

    <LinearLayout

        android:layout_width=\"match_parent\"

        android:layout_height=\"wrap_content\"

        android:id=\"@+id/linearLayout2\"

        android:layout_marginTop=\"3pt\"

        android:layout_marginLeft=\"5pt\"

        android:layout_marginRight=\"5pt\">

        <Button

            android:layout_height=\"wrap_content\"

            android:layout_width=\"match_parent\"

            android:layout_weight=\"1\"

            android:text=\"+\"

            android:textSize=\"8pt\"

            android:id=\"@+id/btnAdd\">

        </Button>

        <Button

            android:layout_height=\"wrap_content\"

            android:layout_width=\"match_parent\"

            android:layout_weight=\"1\"

            android:text=\"-\"

            android:textSize=\"8pt\"

            android:id=\"@+id/btnSub\">

        </Button>

        <Button

            android:layout_height=\"wrap_content\"

            android:layout_width=\"match_parent\"

            android:layout_weight=\"1\"

            android:text=\"*\"

            android:textSize=\"8pt\"

            android:id=\"@+id/btnMult\">

        </Button>

        <Button

            android:layout_height=\"wrap_content\"

            android:layout_width=\"match_parent\"

            android:layout_weight=\"1\"

            android:text=\"/\"

            android:textSize=\"8pt\"

            android:id=\"@+id/btnDiv\">

        </Button>

    </LinearLayout>

    <TextView

        android:layout_height=\"wrap_content\"

        android:layout_width=\"match_parent\"

        android:layout_marginLeft=\"5pt\"

        android:layout_marginRight=\"5pt\"

        android:textSize=\"12pt\"

        android:layout_marginTop=\"3pt\"

        android:id=\"@+id/tvResult\"

        android:gravity=\"center_horizontal\">

    </TextView>

</LinearLayout>

We have two input fields here, four buttons and a text field for output. Have a look at inputType attribute for EditText. It defines the type of the content. I’ve specified numberDecimal - that is field can only contain numbers and a dot, it will not allow letters. It is convenient as you don’t have to code any checkings.

For the TextView gravity attribute is specified. It defines how will the text in the TextView will be located. Don’t confuse it with layout_gravity which is responsible for TextView location in a ViewGroup.

Now we need to read field contents, define which buttons has been pressed and output the needed result. Open MainActivity.java and write the code:

public class MainActivity extends Activity implements OnClickListener {

EditText etNum1;

EditText etNum2;

Button btnAdd;

Button btnSub;

Button btnMult;

Button btnDiv;

TextView tvResult;

String oper = \"\";

/** Called when the activity is first created. */

@Override

public void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);

    setContentView(R.layout.main);

    // find the elements

    etNum1 = (EditText) findViewById(R.id.etNum1);

    etNum2 = (EditText) findViewById(R.id.etNum2);

    btnAdd = (Button) findViewById(R.id.btnAdd);

    btnSub = (Button) findViewById(R.id.btnSub);

    btnMult = (Button) findViewById(R.id.btnMult);

   btnDiv = (Button) findViewById(R.id.btnDiv);

     tvResult = (TextView) findViewById(R.id.tvResult);

    // set a listener

    btnAdd.setOnClickListener(this);

    btnSub.setOnClickListener(this);

    btnMult.setOnClickListener(this);

    btnDiv.setOnClickListener(this);

}

@Override

public void onClick(View v) {

    // TODO Auto-generated method stub

    float num1 = 0;

    float num2 = 0;

    float result = 0;

    // check if the fields are empty

    if (TextUtils.isEmpty(etNum1.getText().toString())

        || TextUtils.isEmpty(etNum2.getText().toString())) {

      return;

    }

    // read EditText and fill variables with numbers

    num1 = Float.parseFloat(etNum1.getText().toString());

    num2 = Float.parseFloat(etNum2.getText().toString());

    // defines the button that has been clicked and performs the corresponding operation

    // write operation into oper, we will use it later for output

    switch (v.getId()) {

    case R.id.btnAdd:

      oper = \"+\";

      result = num1 + num2;

      break;

    case R.id.btnSub:

      oper = \"-\";

      result = num1 - num2;

      break;

    case R.id.btnMult:

      oper = \"*\";

      result = num1 * num2;

      break;

    case R.id.btnDiv:

      oper = \"/\";

      result = num1 / num2;

      break;

    default:

      break;

    }

    // form the output line

    tvResult.setText(num1 + \" \" + oper + \" \" + num2 + \" = \" + result);

}

}

I guess everything is clear in comments. Read values, define the button, perform an operation and output to the text field. Activity is a listener of the clicked buttons.

Save everything and run. Two menu items appeared:

Reset - clears all the fields

Quit - closes the application

Hello, Having some troubles. Help would be appreciated :) Create the Calculator application described below Calculator Definition: We would like an integer calc
Hello, Having some troubles. Help would be appreciated :) Create the Calculator application described below Calculator Definition: We would like an integer calc
Hello, Having some troubles. Help would be appreciated :) Create the Calculator application described below Calculator Definition: We would like an integer calc
Hello, Having some troubles. Help would be appreciated :) Create the Calculator application described below Calculator Definition: We would like an integer calc
Hello, Having some troubles. Help would be appreciated :) Create the Calculator application described below Calculator Definition: We would like an integer calc
Hello, Having some troubles. Help would be appreciated :) Create the Calculator application described below Calculator Definition: We would like an integer calc

Get Help Now

Submit a Take Down Notice

Tutor
Tutor: Dr Jack
Most rated tutor on our site