Boa noite pessoal.
Enunciado do exercicio
[color=blue]Escreva uma aplicação que receba do usuário uma frase no seguinte formato N-N-N…-N-N-N( representando números inteiros separados por hífen), extraia esses números dessa frase e crie e alimente um vetor de tamanho exato a quantidade de números.[/color]
Minha duvida esta em reservar o espaço para que o usuário vai digitar os números, como o exercício diz o usuário pode entrar com a quantidade de números que ele desejar
Obrigado pela atenção :lol:
Ué… se é uma frase nesse formato, prq vc haveria de reservar espaço? Simplismente o exercicio ta pedindo que vc receba uma frase nesse formato e faça o array o que é extremamente simples. Se for um String:
String frase = "1-2-3-4-5-4-5";
String arrayDeNumerosString[] = frase.split("-");
//Se for transformar o array em inteiros faça um loop e va transformando.
Exercício explorando o conceito de alocação dinâmica?
Solução proposta:
1 - Percorra a String e determine quantos elementos ela contém;
2 - Crie um array com a quantidade de elementos encontrada no primeiro passo;
3 - Preencha o array percorrendo a String novamente.
1- Se for como vc falou, a String tem o seguinte formato, por exemplo: “1-3-4-5-6-10”.
Você vai dar um split nela pra tirar os hifens e criar o array da seguinte forma:
String frase = "1-3-4-5-6-10";
String arrayFrase[] = frase.split("-");
2 - Crie um array com a quantidade de elementos encontrada no primeiro passo;
[color=red]Esse split já criou um array com todos os numeros, retirando os hifens. O codigo abaixo só vai reinventar a roda… mas… vai la [/color]
String array[] = new String[arrayFrase.length - 1]
3 - Preencha o array percorrendo a String novamente.
for(int i=0; i <= array.length; i++)
array[i] = arrayFrase[i];
adrian: mas a idéia É justamente reinventar a roda
É um exercício sobre alocação dinâmica, o aesbragantino provavelmente quer aprender o princípio por trás da técnica, então, em vez de dar a resposta pronta (usar String.split()), julguei mais didático explicar como fazer “manualmente”.