Entrada do usuário
A primeira etapa para obter a entrada do usuário é importar funções especiais para o nosso programa. Java é executado de forma bastante enxuta, o que significa que não inclui todas as funções em todos os projetos. Você pode importar apenas aqueles de que precisa. Isso reduz o tempo de execução e torna o código mais limpo. Estaremos importando o utilitário Scanner , que permite entrada / saída. O scanner é, na verdade, parte do pacote de utilitários (utilitário) Java geral. Você poderia apenas importar todo o pacote de utilitários, mas como estamos apenas recebendo a entrada do usuário do teclado, usaremos a seguinte instrução no início do nosso programa:
import java.util.Scanner;
Agora que importamos o utilitário, podemos começar a receber a entrada do usuário. Mas, antes que possamos fazer isso, precisamos criar uma variável para armazenar os valores inseridos pelo usuário. O utilitário Scanner é na verdade uma classe Java, então podemos simplesmente criar uma instância dessa classe. Isso será usado para ler os valores, que você pode ver a seguir.
public static void main (String [] args) {
Leiame do Scanner = novo Scanner (System.in);
}
Em seguida, precisaremos solicitar a entrada do usuário. Além disso, precisaremos declarar variáveis para conter os valores dos números. Precisaremos de um para cada entrada e também de um para o total dos dois números. Você notará que estamos usando o tipo de dados double, o que nos permite ter números realmente grandes. Inteiro, flutuante, curto ou longo são válidos aqui também.
As duas últimas linhas do código a seguir são os pesos-pesados de nosso programa. Na verdade, eles leem a entrada do usuário e a armazenam em nossas variáveis. A variável de instância pode invocar um método dentro da classe Scanner chamado nextDouble (), que você pode ver em execução abaixo.
System.out.println ("Digite dois números" + "(pressione Enter após cada um):");
// duas variáveis para conter números
double n1, n2, n3;
n1 = leia-me.nextDouble ();
n2 = leia-me.nextDouble ();
Novamente, estamos considerando a entrada como um duplo. Scanner fornece métodos para outros tipos, como nextInt (), nextLong () ou nextFloat (). A sintaxe é igual à anterior.
A última etapa do nosso programa é realmente fazer as contas. Criamos a variável n 3, para que possamos salvar nossa adição a essa variável e exibir a saída.
n3 = n1 + n2;
System.out.println ("Total =" + n3);
Para este programa, isso é tudo de que precisamos para que funcione.
Código Completo
Como você pode ver abaixo, aqui está o código completo do nosso programa até agora. Ainda precisamos verificar se há erros, mas pelo menos temos um programa em pleno funcionamento neste momento.
import java.util.Scanner;
public class Inputfunctions {
public static void main (String [] args) {
Scanner readme = new Scanner (System.in);
System.out.println ("Digite dois números (pressione Enter após cada):");
// duas variáveis para conter números
double n1, n2, n3;
n1 = leia-me.nextDouble ();
n2 = leia-me.nextDouble ();
n3 = n1 + n2;
System.out.println ("Total =" + n3);
}
}
Quando executamos o programa, dois números são solicitados. Abaixo está a saída dessa execução, incluindo a saída final.
![]() |
Para esta corrida, inserimos números válidos. Mas o que aconteceria se inseríssemos um texto ou algum outro valor não numérico?
Verificação de erros
Atualmente, nosso código não tem verificação de erros. Assume que o usuário irá inserir números válidos. Você pode inserir um inteiro em um duplo, ou um flutuante em um duplo; ele apenas adiciona o decimal e um zero quando você faz isso. Mas, o problema é que você não pode colocar um byte ou um booleano em um campo inteiro. O código que você está vendo agora mostra o que acontecerá se você inserir algo diferente de um número. Como você pode ver, isso resulta em uma notificação de falha de construção, entre todas as outras coisas.
![]() |
O próximo bloco de código mostra como podemos ter certeza de que os números inseridos são válidos. Faremos uso de um loop ‘while’ que será processado continuamente até que um número válido seja inserido. A classe Scanner também possui outro método, hasNextDouble () e métodos correspondentes para integer e float, que nos permite saber se o valor é realmente um double.
Nosso loop while será executado se o valor de entrada não for duplo. O ponto de exclamação (!) Na instrução while diz ao Java para processar se o valor readme não for duplo. É uma inversão do valor. Quando o valor não é válido, exibimos um erro. Isso continuará indefinidamente até que o usuário insira um número válido.
Preste atenção especial à função next () após o aviso. Isso dá ao usuário outra tentativa de inserir um número válido. Do contrário, o loop simplesmente se repete e eles tentam novamente até acertar. Verifique o código a seguir para ter uma boa ideia de como tudo isso funciona.
public static void main (String [] args) {
Leiame do Scanner = novo Scanner (System.in);
System.out.println ("Digite dois números (pressione Enter após cada):");
while (! readme.hasNextDouble ()) {
System.out.println ("Tente inserir um número");
readme.next ();
}
duplo n1, n2, n3;
n1 = leia-me.nextDouble ();
n2 = leia-me.nextDouble ();
n3 = n1 + n2;
System.out.println ("Total =" + n3);
}
E se inserirmos dados falsos, ele continuará nos dizendo para inserir um número válido, que você pode ver no próximo conjunto de código aqui.
![]() |
Eventualmente, a entrada de dados é concluída e os números são somados.
Agora podemos olhar para o resultado final, que tem verificação de erros e adiciona os dois números, que você pode ver abaixo:
import java.util.Scanner;
public class Inputfunctions {
public static void main (String [] args) {
Scanner readme = new Scanner (System.in);
System.out.println ("Digite dois números (pressione Enter após cada):");
while (! readme.hasNextDouble ()) {
System.out.println ("Tente inserir um número");
readme.next ();
}
duplo n1, n2, n3;
n1 = leia-me.nextDouble ();
n2 = leia-me.nextDouble ();
n3 = n1 + n2;
System.out.println ("Total =" + n3);
}
}
Resumo da lição
Vamos parar alguns minutos para recapitular algumas das informações importantes que aprendemos. Com qualquer linguagem de programação, existem várias maneiras de resolver um determinado problema. Abordamos o método de recebimento de dados do usuário pelo teclado. Para fazer isso, você precisa importar o utilitário Scanner , que permite entrada / saída e, na verdade, faz parte do pacote de utilitários (utilitário) Java geral. Em seguida, digitalizamos em dois números. Em nosso caso, usamos double, mas poderiam ser inteiros. Além disso, testamos um número válido para que o programa não travasse.