O Guto deu a dica certa.
A classe é bem poderosa, e pode ler dados de várias fontes, inclusive
de arquivos e da rede.
Mas para fins desse exercício, basta usar os métodos nextInt(),
nextFloat() ou nextDouble(), nextLine()
Pode-se escrever apenas um valor por linha, ou vários.
Por exemplo:
Scanner sc = new Scanner(System.in) ;  // associa o scanner  apontado
por sc ao teclado
System.out.println ("Digite sua idade, seu salário e seu nome: ");
// você aqui pode digitar um int numa linha, um double na outra, e uma
string na terceira, ou os três na mesma linha
int idade = sc.nextInt(); // lê um int e avança até o início do
próximo valor
double salario = sc.nextDouble();  // lê um double e avança até o
início do próximo valor
String nome = sc.nextLine();   // lê tudo até o fim da linha corrente.

O problema com nextLine() é que brancos antes e depois são
considerados caracteres da string, ao contrário do que ocorre com os
numeros.
Assim, se sua linha digitada for:  21  980,50   Carlos da Silva
idade receberá 21, salário receberá 980.50, mas o nome receberá  "
Carlos da Silva", com brancos à esquerda.
Por isso é melhor ler um dado por linha, especialmente se for string.
Mais um detalhe: Java trabalha com o conceito de "locale", palavra
usada para representar locais diferentes do mundo que usam convenções
diferentes para representar números, dinheiro , datas, etc.
A classe Scanner é sensível ao local, e detecta do sistema operacional
que usamos aqui vírgula decimal, e não o ponto.
Assim, um real lido com um scanner deve ter a vírgula decimal para
funcionar com nextFloat() ou nextDouble(). Se colocar ponto decimal
vai dar um erro.
Vocês notarão que, depois de ler o salário, no exemplo acima, com
vírgula, se forem imprimir na tela sairá 980.50
Coisas do Java....Para mudar isso será preciso usar formatos, que não
vimos ainda.

A melhor maneira de eliminar os brancos à esquerda e à direita de uma
String é usar o método trim() da classe String, que retorna uma cópia
da String que recebe essa mensagem, sem os brancos iniciais e finais:
String s = "    abcd    ".trim();

Nesse caso s vai apontar para a string "abcd"

abs,
Jonathan

On 7 abr, 13:06, Romulo Freires <[email protected]> wrote:
> Obrigado Guto, ficou fácil depois da explicação.

-- 
You received this message because you are subscribed to the Google Groups "Comp 
2 - Geral" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/comp2-geral?hl=en.

Responder a