Mobile App Development · Dart/Flutter
Um desafio: um menu de operações matemáticas resolvido com switch expression, com proteção contra divisão por zero.
Desafio 1
Simula um menu de operações matemáticas com switch expression: cada arm calcula o resultado da operação escolhida, e o arm de divisão usa um operador ternário para verificar o divisor antes de dividir.
// Desafio: simular um menu de operações matemáticas com switch expression.
// Inclui proteção contra divisão por zero com operador ternário dentro do arm.
void main() {
// Operação a executar.
final String operacao = 'multiplicar';
// Operandos usados em todas as operações.
final int a = 12;
final int b = 3;
// Switch expression: mapeia o nome da operação ao cálculo correspondente.
final resultado = switch (operacao) {
'somar' => a + b,
'subtrair' => a - b,
'multiplicar' => a * b,
// Verifica divisão por zero antes de dividir.
'dividir' => b != 0 ? a / b : 'Erro: divisão por zero',
_ => 'Operação inválida',
};
print('Resultado: $resultado');
}
Saída esperada
Resultado: 36
Como executar
dart run 12-Switch_Case/03_Desafios/codigo_fonte/desafio_switch_case.dart