Os dois primeiros exercícios foram resolvidos conforme mostrado na Opinião do Instrutor. Porém, ao resolver o exercício número 3 (Solicitando a idade do usuário), surgiu a dúvida: O problema foi resolvido pelo intrutor usando duas variáveis do tipo String$. Por que não funciona com uma variável do tipo int ?
Este código funciona:
import 'dart:io';
void main() {
print('Por favor, informe seu primeiro nome: ');
String? nome = stdin.readLineSync();
print('Agora, informe sua idade: ');
String? idade = stdin.readLineSync();
print('Olá, $nome! Você tem $idade anos de idade.');
}
Este não funciona:
import 'dart:io';
void main() {
print('Por favor, informe seu primeiro nome: ');
String? nome = stdin.readLineSync();
print('Agora, informe sua idade: ');
int idade = stdin.readLineSync();
print('Olá, $nome! Você tem $idade anos de idade.');
}
Agora, alterando-se o método da função stdin funciona, porém, mostra valor da idade divergente do informado pelo usuário (também gostaria de uma explicação pra isso):
import 'dart:io';
void main() {
print('Por favor, informe seu primeiro nome: ');
String? nome = stdin.readLineSync();
print('Agora, informe sua idade: ');
int idade = stdin.readByteSync();
print('Olá, $nome! Você tem $idade anos de idade.');
}
Resultado:
PS C:\Users\barru\Documents\dart\meu_app> dart run
Building package executable...
Por favor, informe seu primeiro nome:
Antonio
Agora, informe sua idade:
54
Olá, Antonio! Você tem 53 anos de idade.