Jump to content

Recommended Posts

Posted

Lês o input e fazes parsing aos valores inteiros. Colocas o parsing num bloco try-catch e, quando der excepção, terminas.

“There are two ways of constructing a software design: One way is to make it so simple that there are obviously no deficiencies, and the other way is to make it so complicated that there are no obvious deficiencies. The first method is far more difficult.”

-- Tony Hoare

Posted

Lês o input e fazes parsing aos valores inteiros. Colocas o parsing num bloco try-catch e, quando der excepção, terminas.

O problema é que ainda não dei esses blocos try-catch, nem faço ideia do que seja nem como se utiliza, portanto não estou autorizado a utilizar  😄

Não existe outra forma simples utilizando os ciclos?

Obrigado

Posted

Sim.

Vais recebendo a input, usando:

 for(int input != VariavelDeParagem) {

   Executar algo; 

}

Isto porque, saber a composicão do granito, os estágios da evolucão psicológica humana ou as deambulacões do Sartre não indicam puto sobre as competências de alguém num determinado campo específico e muito menos sobre o que as pessoas gostam de fazer ou a sua capacidade de aprendizagem. - bubulindo, 15 de Fevereiro de 2013 - 02:01

Posted

Então cria um método que verifique a constituição do input que retorne true se for possível transformar em inteiro, e false se tiver caracteres não numéricos.

“There are two ways of constructing a software design: One way is to make it so simple that there are obviously no deficiencies, and the other way is to make it so complicated that there are no obvious deficiencies. The first method is far more difficult.”

-- Tony Hoare

Posted

Que operações é que vais ter que fazer com os valores lidos?  Algo me diz que não precisas de guardar todos os valores lidos...

O programa que eu preciso de fazer tem necessita que o utilizador execute o programa, de seguida fica à espera que ele introduzida inteiros e termine de ler até que seja introduzido outro caractere que não seja um inteiro, e no final indicar o número de inteiros iguais introduzidos, ou seja, se introduzir no input por exemplo: "3 6 8 9 3 9 1 3 10 22 10", o resultado será  de , pois existem 3 ocorrências de "3" + 2 ocorrências de "9" + 2 ocorrências de "10".

Obrigado

Posted

Não percebi bem qual era o resultado pretendido, mas uma alternativa a guardares os inteiros lidos, é ires contando as suas ocorrências, ou seja, para esse input, chegavas ao fim com [1, 0, 3, 0, 0, 1, 0, 1, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1].  No início terias que definir o definias o valor máximo que podia ser introduzido (por exemplo 1000), e criavas um array de 1001 posições.

Também tens a alternativa de redimensionares o array sempre que for necessário, mas tal parece-me uma solução parva, quando podias usar um ArrayList, e como tal pressuponho que tal não seja o objectivo do exercício.

Posted

A solução que o Rui Carlos te deu não envolve nenhum método da classe Array.

“There are two ways of constructing a software design: One way is to make it so simple that there are obviously no deficiencies, and the other way is to make it so complicated that there are no obvious deficiencies. The first method is far more difficult.”

-- Tony Hoare

Posted

int x = Integer.parseInt(str);

O problema é que eu tenho de ler uma string em que os inteiros estão separados por espaços e vou ter que os guardar pois vou precisar de os comparar como referi anteriormente

Posted

Usa o método split para os separar.

Também pensei nisso mas disseram-me que não posso utilizar, por isso é que é mais complicado verificar se na posição do array de chars estiver um numero seguido de um espaço, não sei como colocar esse numero juntamente com o anterior, pois também não sei quantos algarismos têm os números introduzidos.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.