Ajuda Array- Flag utilizando char

2 respostas
N

Pessoal estou com dúvidas quanto a criação de vetores utilizando como flag caracteres :? .
Eu fiz uma questão para a cricação de um determinado conjunto utilizando como flag de parada a letra'z'.

cod:

package aula12R;

import java.util.Scanner;

public class teste {

	/**
	 * Criar um conjunto de caracteres utilizando a letra "z" como flag.
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub

		Scanner leia = new Scanner(System.in);
		System.out.println("Escreva os elementos do conjunto:");

		char E;

		char[] conjunto = new char[100];

		for (int i = 0; i < conjunto.length; i++) {
			E = leia.next().charAt(0);
			conjunto[i] = E;
            if ( E == 'z')
            	break;
			}

		for (int i = 0; i < conjunto.length; i++) 
			System.out.println(conjunto[i]);

	}
}

Dúvidas :

1-Esse modo que eu fiz é o mais indicado ?

2-Caso eu não colocasse o tamanho do array inicialmente como 100 e quisesse condicionar seu tamanho a quantidade de entradas de caracteres , qual a melhor forma de fazer isso?

obs : Quanto a minha segunda dúvida , Eu tentei resolver inicializando a variael 'E' e colocando depois [E] no array ao invez de [100] mas o problema é que na impressão não sai o primeiro
valor de E.

Desde já agradeço.

Abraços.

2 Respostas

CrOnNoS

Para sua segunda questão: como você não faz idéia do tamanho que será o vetor e precisa inserir elementos nele ANTES de ter conhecimento do seu tamanho, sua unica solução plausível é utilizar um vetor de tamanho dinâmico, ou seja, Collections. ArrayList por exemplo é uma Collection com o mesmo funcionamento de vetor mas tamanho dinâmico.
Sobre a primeira questão, depende do problema. Se os char PRECISAM ser lidos de 1 em 1, então não vejo nada de imediato que poderia dar uma boa melhorada no seu programa.

N

vlw pela dica amigo .

Abraço :lol:

Criado 10 de dezembro de 2009
Ultima resposta 11 de dez. de 2009
Respostas 2
Participantes 2