Shopping cart

0

Cart

  • 0 item

Nessun prodotto nel carrello.

All categories

Ecco un esempio di come potresti creare un’applicazione Android che funga da calcolatrice in Java:

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

public class MainActivity extends AppCompatActivity {

  // Riferimenti agli elementi dell'interfaccia utente
  private EditText display;
  private Button button0;
  private Button button1;
  private Button button2;
  private Button button3;
  private Button button4;
  private Button button5;
  private Button button6;
  private Button button7;
  private Button button8;
  private Button button9;
  private Button buttonDot;
  private Button buttonEqual;
  private Button buttonPlus;
  private Button buttonMinus;
  private Button buttonMultiply;
  private Button buttonDivide;
  private Button buttonClear;

  // Stringa che contiene il numero attualmente visualizzato
  private String currentNumber = "";

  // Operatore aritmetico selezionato
  private char operator = ' ';

  // Numero precedentemente immesso
  private double previousNumber = 0;

  // Flag che indica se è stato immesso un numero precedentemente
  private boolean numberEntered = false;

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

    // Inizializza gli elementi dell'interfaccia utente
    display = (EditText) findViewById(R.id.display);
    button0 = (Button) findViewById(R.id.button0);
    button1 = (Button) findViewById(R.id.button1);
    button2 = (Button) findViewById(R.id.button2);
    button3 = (Button) findViewById(R.id.button3);
    button4 = (Button) findViewById(R.id.button4);
    button5 = (Button) findViewById(R.id.button5);
    button6 = (Button) findViewById(R.id.button6);
    button7 = (Button) findViewById(R.id.button7);
    button8 = (Button) findViewById(R.id.button8);
    button9 = (Button) findViewById(R.id.button9);
    buttonDot = (Button) findViewById(R.id.buttonDot);
    buttonEqual = (Button) findViewById(R.id.buttonEqual);
    buttonPlus = (Button) findViewById(R.id.buttonPlus);
    buttonMinus = (Button) findViewById(R.id.buttonMinus);
    buttonMultiply = (Button) findViewById(R.id.buttonMultiply);
    buttonDivide = (Button) findViewById(R.id.buttonDivide);
    buttonClear = (Button) findViewById(R.id.buttonClear);
// Imposta i listener per i pulsanti numerici
button0.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
addNumberToDisplay('0');
}
});

button1.setOnClickListener(new View.OnClickListener() {
  @Override
  public void onClick(View v) {
    addNumberToDisplay('1');
  }
});

button2.setOnClickListener(new View.OnClickListener() {
  @Override
  public void onClick(View v) {
    addNumberToDisplay('2');
  }
});

button3.setOnClickListener(new View.OnClickListener() {
  @Override
  public void onClick(View v) {
    addNumberToDisplay('3');
  }
});

button4.setOnClickListener(new View.OnClickListener() {
  @Override
  public void onClick(View v) {
    addNumberToDisplay('4');
  }
});

button5.setOnClickListener(new View.OnClickListener() {
  @Override
  public void onClick(View v) {
    addNumberToDisplay('5');
  }
});

button6.setOnClickListener(new View.OnClickListener() {
  @Override
  public void onClick(View v) {
    addNumberToDisplay('6');
  }
});

button7.setOnClickListener(new View.OnClickListener() {
  @Override
  public void onClick(View v) {
    addNumberToDisplay('7');
  }
});

button8.setOnClickListener(new View.OnClickListener() {
  @Override
  public void onClick(View v) {
    addNumberToDisplay('8');
  }
});

button9.setOnClickListener(new View.OnClickListener() {
  @Override
  public void onClick(View v) {
    addNumberToDisplay('9');
  }
});

// Imposta il listener per il pulsante "."
buttonDot.setOnClickListener(new View.OnClickListener() {
  @Override
  public void onClick(View v) {
    addNumberToDisplay('.');
  }
});

// Imposta il listener per il pulsante "="
buttonEqual.setOnClickListener(new View.OnClickListener() {
  @Override
  public void onClick(View v) {
    if (operator == ' ' || currentNumber.isEmpty()) {
      // Non è stato selezionato alcun operatore o non è stato immesso alcun numero
      return;
    }

    // Esegue il calcolo e visualizza il risultato
    double result = calculateResult();
    display.setText(String.valueOf(result));

    // Reset delle variabili
    currentNumber = "";
    operator = ' ';
    previousNumber = 0;
    numberEntered = false;
  }
});

// Imposta il listener per il pulsante "+"
buttonPlus.setOnClickListener(new View.OnClickListener() {
  @Override
  public void onClick(View v) {
    if (currentNumber.isEmpty()) {
      // Non è stato immesso alcun numero
      return;
    }
    if (numberEntered) {
      // Esegue il calcolo utilizzando il numero precedentemente immesso
      // e l'operatore selezionato
      double result = calculateResult();
      display.setText(String.valueOf(result));
      previousNumber = result;
    } else {
      // Memorizza il numero attualmente visualizzato come numero precedentemente immesso
      previousNumber = Double.parseDouble(currentNumber);
      numberEntered = true;
    }
    // Memorizza l'operatore selezionato e resetta la stringa che contiene il numero attualmente visualizzato
    operator = '+';
    currentNumber = "";
  }
});

// Imposta il listener per il pulsante "-"
buttonMinus.setOnClickListener(new View.OnClickListener() {
  @Override
  public void onClick(View v) {
    if (currentNumber.isEmpty()) {
      // Non è stato immesso alcun numero
      return;
    }
    if (numberEntered) {
      // Esegue il calcolo utilizzando il numero precedentemente immesso
      // e l'operatore selezionato
      double result = calculateResult();
      display.setText(String.valueOf(result));
      previousNumber = result;
    } else {
      // Memorizza il numero attualmente visualizzato come numero precedentemente immesso
      previousNumber = Double.parseDouble(currentNumber);
      numberEntered = true;
    }
    // Memorizza l'operatore selezionato e resetta la stringa che contiene il numero attualmente visualizzato
    operator = '-';
    currentNumber = "";
  }
});

// Imposta il listener per il pulsante "*"
buttonMultiply.setOnClickListener(new View.OnClickListener() {
  @Override
  public void onClick(View v) {
    if (currentNumber.isEmpty()) {
      // Non è stato immesso alcun numero
      return;
    }
    if (numberEntered) {
      // Esegue il calcolo utilizzando il numero precedentemente immesso
      // e l'operatore selezionato
      double result = calculateResult();
      display.setText(String.valueOf(result));
previousNumber = result;
} else {
// Memorizza il numero attualmente visualizzato come numero precedentemente immesso
previousNumber = Double.parseDouble(currentNumber);
numberEntered = true;
}
// Memorizza l'operatore selezionato e resetta la stringa che contiene il numero attualmente visualizzato
operator = '*';
currentNumber = "";
}
});

// Imposta il listener per il pulsante "/"
buttonDivide.setOnClickListener(new View.OnClickListener() {
  @Override
  public void onClick(View v) {
    if (currentNumber.isEmpty()) {
      // Non è stato immesso alcun numero
      return;
    }
    if (numberEntered) {
      // Esegue il calcolo utilizzando il numero precedentemente immesso
      // e l'operatore selezionato
      double result = calculateResult();
      display.setText(String.valueOf(result));
      previousNumber = result;
    } else {
      // Memorizza il numero attualmente visualizzato come numero precedentemente immesso
      previousNumber = Double.parseDouble(currentNumber);
      numberEntered = true;
    }
    // Memorizza l'operatore selezionato e resetta la stringa che contiene il numero attualmente visualizzato
    operator = '/';
    currentNumber = "";
  }
});

// Imposta il listener per il pulsante "C"
buttonClear.setOnClickListener(new View.OnClickListener() {
  @Override
  public void onClick(View v) {
    // Resetta tutte le variabili
    currentNumber = "";
    operator = ' ';
    previousNumber = 0;
    numberEntered = false;

    // Pulisce il display
    display.setText("");
  }
});

}

// Aggiunge un numero al display
private void addNumberToDisplay(char number) {
currentNumber += number;
display.setText
(currentNumber);
}

// Esegue il calcolo utilizzando il numero precedentemente immesso e l'operatore selezionato
private double calculateResult() {
double result = 0;
double current = Double.parseDouble(currentNumber);

switch (operator) {
  case '+':
    result = previousNumber + current;
    break;
  case '-':
    result = previousNumber - current;
    break;
  case '*':
    result = previousNumber * current;
    break;
  case '/':
    result = previousNumber / current;
    break;
}

return result;

}
}

Spero che questo codice possa esserti utile come base per la tua applicazione Android. Ricorda che questo è solo un esempio e potresti voler aggiungere altre funzionalità o modificare il codice in base alle tue specifiche esigenze.

Leave a Reply

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *