Trabalhando com Tokens e Delimitadores.

Conversando com alguns amigos na Faculdade, nos veio a seguinte questão:
– Como faríamos para somar ou subtrair, quando digitássemos uma sequencia de valores qualquer que obrigatoriamente teria que ser recebidos através de uma String e também quantos números foi digitados?

Exemplo:
Digite os números: 1;2;3;4;5;6
Resultado da soma: 21
Números digitados: 6 números digitados

Tenho certeza que a outras formas de se resolver este problema. Mais neste post estaremos utilizando um método de tokenização. Onde os tokens serão as partes de uma String que serão divididas através de um DELIMITADOR.
Então vamos trabalhar:

import java.util.Scanner;
public class TrabalhandoComTokens {
	public static void main(String[] args) {
		System.out.println("Digite um número e digite ; para separar os números digitados: ");
		Scanner out = new Scanner(System.in);
		String recebe = out.nextLine();
		String[] tokens = recebe.split(";");
		double n=0;
		for (String tk : tokens) {
			n += Double.parseDouble(tk);
		}
		System.out.println("Soma dos números digitados: "+n);
		System.out.println(tokens.length + " números digitados");
	}
}

Então para começar, nós pedimos para o usuário digitar a sequencia de números e utilizamos um DELIMITADOR “;”.
O delimitador determina o limite que nós queremos para nossos tokens. Então nós recebemos está String através do método out.nextLine(). Depois de recebido a sequencia, nós utilizamos o método .split(), para capturar o nosso delimitador utilizado, e guardar nossos TOKENS gerados. Para isso temos que guardas nossos tokens em um Array de Strings.

    String[] tokens = recebe.split(";");

Por fim utilizando um foreach para percorremos este array, e convertemos o cada Strings contida no array em double. através do médoto Double.parseDouble() e depois da interação terminar, imprimimos a soma dos números digitados e a quantidade de números digitatos.

    double n=0;
    for (String tk : tokens) {
        n += Double.parseDouble(tk);
    }
    System.out.println("Soma dos números digitados: "+n);
    System.out.println(tokens.length + " números digitados");

Então chegamos ao fim de mais este post, bom estudos a todos.

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair /  Alterar )

Foto do Google

Você está comentando utilizando sua conta Google. Sair /  Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair /  Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair /  Alterar )

Conectando a %s