You are on page 1of 2

Bab 7 : Calculator

package com.example.calculator;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;

import java.util.Arrays;

public class MainActivity extends AppCompatActivity {


int register1 = 0, register2 = 0;
String op = "";
String[] numberChars = new String[] { "0", "1", "2", "3", "4", "5", "6",
"7", "8", "9" };
String[] opChars = new String[] { "+", "-", "=", "C" };
TextView tvHasil;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
tvHasil = (TextView) findViewById(R.id.tvHasil);
register1 = 0; register2 = 0;
tvHasil.setText(String.valueOf(register1));
}

public void buttonClick(View view){


Button b = (Button) view;
String k = b.getText().toString();
if (Arrays.asList(numberChars).contains(k))
{
if (op.equals("="))
{
register1 = Integer.parseInt(k);
op = "";
}
else if (op.equals("+"))
{
register1 = register1 * 10 + Integer.parseInt(k);
}
else if (op.equals("-"))
{
register1 = register1 * 10 + Integer.parseInt(k);
}
else
{
register1 = register1 * 10 + Integer.parseInt(k);
}
}
else if (Arrays.asList(opChars).contains(k))
{
if (k.equals("C"))
{
op = "";
register1 = 0;
register2 = 0;
}
else if(k.equals("="))
{
if (op.equals("+"))
{
register1 = register1 + register2;
register2 = register1;
op = "=";
}
else if (op.equals("-"))
{
register1 = register2 - register1;
register2 = register1;
op = "=";
}
}
else
{
if (k.equals("+"))
{
register2 = register1;
register1 = 0;
op = k;
}
else if (k.equals("-"))
{
register2 = register1;
register1 = 0;
op = k;
}
}
}
tvHasil.setText(String.valueOf(register1));
}
}

You might also like