3
respostas

Exercicio de Lista

Criei uma lista dynamic para incluir dados sobre mim e utilizei if/else nas variáveis booleanas para informar respostas mais naturais ao invés de True or False.

main() {
  const String nome = "Julio Cesar";
  int idade = 40;
  bool nerd = true;
  double altura = 1.75;
  const bool casado = true;
  const int filhos = 1;
  String souNerd;
  late String souCasado;

  if (nerd == true) {
    souNerd = "Sim";
  } else {
    souNerd = "Não";
  }

  List<dynamic> quemSou = [nome, idade, nerd, altura, casado, filhos];
  if (quemSou[4] == true) {
    souCasado = 'Sim';
  } else {
    souCasado = 'Não';
  }

  String frase = "Meu nome é ${quemSou[0]}, \n"
      'Tenho ${quemSou[1]} anos. \n'
      'Sou um nerd? ${souNerd}, com orgulho!, \n'
      'Tenho ${quemSou[3]} mt, \n'
      'Sou casado? ${souCasado}, \n'
      'E tenho ${quemSou[5]} filha.';
  print(frase);

Output: Insira aqui a descrição dessa imagem para ajudar na acessibilidade

3 respostas

Olá, Julio.

Tudo bem?

Seu código está bem estruturado e a lógica está correta. Parabéns. Continue com essa dedicação

Vou deixar uma sugestão de melhoria. Você pode simplificar um pouco o código e evitar a repetição de verificações if/else. Vou sugerir algumas melhorias:

  1. Uso de Operador Ternário: Em vez de usar if/else para definir souNerd e souCasado, você pode usar o operador ternário.
  2. Uso de Variáveis Constantes: Como as variáveis nome, casado e filhos são constantes, você pode definir a lista quemSou diretamente com essas variáveis.

Aqui está uma versão otimizada do seu código:

void main() {
  const String nome = "Julio Cesar";
  int idade = 40;
  bool nerd = true;
  double altura = 1.75;
  const bool casado = true;
  const int filhos = 1;

  // Usando operador ternário para definir as strings
  String souNerd = nerd ? "Sim" : "Não";
  String souCasado = casado ? "Sim" : "Não";

  // Definindo a lista com as informações
  List<dynamic> quemSou = [nome, idade, nerd, altura, casado, filhos];

  // Montando a frase
  String frase = "Meu nome é ${quemSou[0]}, \n"
      'Tenho ${quemSou[1]} anos. \n'
      'Sou um nerd? ${souNerd}, com orgulho!, \n'
      'Tenho ${quemSou[3]} mt, \n'
      'Sou casado? ${souCasado}, \n'
      'E tenho ${quemSou[5]} filha.';

  // Imprimindo a frase
  print(frase);
}

Essa versão do código mantém a mesma lógica e resultado, mas de forma mais concisa e legível.

É só uma sugestão, o seu código está correto. Veja se faz sentido e se quiser altera.

Espero ter ajudado e bons estudos!

Olá Renan, poxa gostei muito da dica do operador ternário, valeu!

Só a dica da lista que não identifiquei diferença na do que eu fiz, pode explicar novamente por favor?

Valeu!!!

Sobre as variéveis e a lista, é isso mesmo que você já fez, foi só um comentário meu sobre essa parte. Eu que me expressei errado, ficou parecendo que era uma sugestão mesmo :D

Valeu Julio.