1
resposta

[Projeto] Solução para o desafio da tabuada

<?php

class Tabuada{
    
    //teste
    private $opcao; //teste

    public function __construct($opcao){
        $this->opcao = $opcao;
    }

    public function setOpcao($opcao){
        $this->opcao = $opcao;
    }

    public function getOpcao(){
        return $this->opcao;
    }

    public function exibirTabuada($opcao){
        switch($opcao){
            case 'adicao':
                $this->adicao();
                break;
            case 'subtracao':
                $this->subtracao();
                break;
            case 'multiplicacao':
                $this->multiplicacao();
                break;
            case 'divisao':
                $this->divisao();
                break;
            default:
                throw new Exception('Operação aritmética inválida!');
        }
    }

    public function adicao(){
        for($i=1;$i<10;$i++){
            for($j=1;$j<=10;$j++){
                $resultado = $i + $j;
                echo "$i + $j = ".$resultado.PHP_EOL;
            }
            echo PHP_EOL;
        }
    }

    public function subtracao(){
        for($i=1;$i<10;$i++){
            for($j=1;$j<=10;$j++){
                $resultado = $i - $j;
                echo "$i - $j = ".$resultado.PHP_EOL;
            }
            echo PHP_EOL;
        }
    }
    
    public function multiplicacao(){
        for($i=1;$i<10;$i++){
            for($j=1;$j<=10;$j++){
                $resultado = $i * $j;
                echo "$i * $j = ".$resultado.PHP_EOL;
            }
            echo PHP_EOL;
        }
    }
    
    public function divisao(){
        for($i=1;$i<10;$i++){
            for($j=1;$j<=10;$j++){
                $resultado = round($i/$j,2);
                echo "$i / $j = ".$resultado.PHP_EOL;
            }
            echo PHP_EOL;
        }
    }
}

try{
    $opcao = 'multiplicacao';
    $tabuada = new Tabuada($opcao);
    $tabuada->exibirTabuada($tabuada->getOpcao());
}catch(Exception $e){
    echo $e;
}
1 resposta

Olá, Douglas! Tudo bem?

Mandou bem demais na resolução do exercício! Ficou excelente! Continue assim!

Para agregar ao seu projeto, pode ser uma boa que os métodos adicao, subtracao, multiplicacao e divisao sejam privados para garantir um encapsulamento melhor da sua classe Tabuada. Faz sentido? :)

Bons estudos :)