Android_Slip_6A

1. Create the layout file (res/layout/activity_main.xml):
    <androidx.constraintlayout.widget.ConstraintLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">

    <EditText
    android:id="@+id/editTextNumber1"
    android:layout_width="0dp"
    android:layout_height="wrap_content"
    android:hint="Number 1"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toTopOf="parent"
    app:layout_constraintHorizontal_bias="0.5"/>

    <EditText
    android:id="@+id/editTextNumber2"
    android:layout_width="0dp"
    android:layout_height="wrap_content"
    android:hint="Number 2"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toBottomOf="@+id/editTextNumber1"
    app:layout_constraintVertical_bias="0.16"
    app:layout_constraintHorizontal_bias="0.5"/>

    <Button
    android:id="@+id/buttonAdd"
    android:layout_width="0dp"
    android:layout_height="wrap_content"
    android:text="Add"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toBottomOf="@+id/editTextNumber2"
    app:layout_constraintVertical_bias="0.16"
    app:layout_constraintHorizontal_bias="0.5"/>

    <Button
    android:id="@+id/buttonSubtract"
    android:layout_width="0dp"
    android:layout_height="wrap_content"
    android:text="Subtract"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toBottomOf="@+id/buttonAdd"
    app:layout_constraintVertical_bias="0.16"
    app:layout_constraintHorizontal_bias="0.5"/>

    <Button
    android:id="@+id/buttonMultiply"
    android:layout_width="0dp"
    android:layout_height="wrap_content"
    android:text="Multiply"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toBottomOf="@+id/buttonSubtract"
    app:layout_constraintVertical_bias="0.16"
    app:layout_constraintHorizontal_bias="0.5"/>

    <Button
    android:id="@+id/buttonDivide"
    android:layout_width="0dp"
    android:layout_height="wrap_content"
    android:text="Divide"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toBottomOf="@+id/buttonMultiply"
    app:layout_constraintVertical_bias="0.16"
    app:layout_constraintHorizontal_bias="0.5"/>

    <TextView
    android:id="@+id/textViewResult"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Result: "
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toBottomOf="@+id/buttonDivide"
    app:layout_constraintVertical_bias="0.16"
    app:layout_constraintHorizontal_bias="0.5"/>
    </androidx.constraintlayout.widget.ConstraintLayout>

2. MainActivity.java:
    import androidx.appcompat.app.AppCompatActivity;
    import android.os.Bundle;
    import android.view.View;
    import android.widget.Button;
    import android.widget.EditText;
    import android.widget.TextView;

    public class MainActivity extends AppCompatActivity {

    private EditText editTextNumber1,editTextNumber2;
    private Button buttonAdd,buttonSubtract,buttonMultiply,buttonDivide;
    private TextView textViewResult;

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

    // Initialize UI elements
    editTextNumber1 = findViewById(R.id.editTextNumber1);
    editTextNumber2 = findViewById(R.id.editTextNumber2);
    buttonAdd = findViewById(R.id.buttonAdd);
    buttonSubtract = findViewById(R.id.buttonSubtract);
    buttonMultiply = findViewById(R.id.buttonMultiply);
    buttonDivide = findViewById(R.id.buttonDivide);
    textViewResult = findViewById(R.id.textViewResult);

    // Set click listeners for buttons
    buttonAdd.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
    performOperation('+');
    }
    });

    buttonSubtract.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
    performOperation('-');
    }
    });

    buttonMultiply.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
    performOperation('*');
    }
    });

    buttonDivide.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
    performOperation('/');
    }
    });
    }

    private void performOperation(char operator) {
    double num1 = parseDoubleOrZero(editTextNumber1.getText().toString());
    double num2 = parseDoubleOrZero(editTextNumber2.getText().toString());

    double result;
    switch (operator) {
    case '+':
    result = num1 + num2;
    break;
    case '-':
    result = num1 - num2;
    break;
    case '*':
    result = num1 * num2;
    break;
    case '/':
    result = (num2 != 0.0) ? num1 / num2 : Double.NaN;
    break;
    default:
    result = Double.NaN;
    }

    textViewResult.setText("Result: " + result);
    }

    private double parseDoubleOrZero(String str) {
    try {
    return Double.parseDouble(str);
    } catch (NumberFormatException e) {
    return 0.0;
    }
    }
    }

No comments:

Post a Comment