List exercices.
O exemplo abaixo cria uma lista de compras, porém só é possível adicionar o nome do produto:
import 'dart:io';
void main(List<String> args) {
var products = <String>[];
bool isRunning = true;
while (isRunning) {
print('\nDigite um produto(Ou print para sair):');
//espera uma interação do usuário
var typed = stdin.readLineSync() ?? '';
if (typed == 'print') {
printProducts(products);
isRunning = false;
} else {
products.add(typed);
}
}
}
void printProducts(List<String> products) {
//adiciona mais uma linha em branco
print('\n');
for (var i = 0; i < products.length; i++) {
var product = products[i];
print('${i + 1} - $product');
}
}
Estruture o produto para que ele aceite tanto o nome quanto o valor.
Considere o exemplo a baixo:
void main(List<String> args) {
final person = Person();
print(person.getName()); // NoName
}
class Person {
String getName() {
return 'NoName';
}
}
faça o método getName()
retornar o seu nome sem alterar nada da classe Person
.
Observer o contrato Person
:
abstract class Person {
double weight;
double height;
Person({
required this.weight,
required this.height,
});
// BMI == IMC
double calculateBMI();
}
Implemente esse contrato calculando o IMC (BMI em inglês).