Definir o tamanho do array por uma entrada de dados!

5 respostas
manolo

[b]Pessoal, estou com mais uma dúvida relacionada a vetores ( estou fazendo uma pancada de exercícios para fixação).

O problema é definir o tamanho de um array sendo, que o usuario informe por uma entrada de dados!

Pelo menos essa está sendo minha lógica relacionada ao exercício!

Segue uma parte do mesmo abaixo:[/b]

Implemente um programa em JAVA que leia, nome, idade e o sexo de N pessoas
(o valor de N deve ser fornecido pelo usuário). Após a leitura, faça o programa para:

[b]Galera, já deixo claro que não quero que vocês resolvam para mim, e sim me de umas dicas se estou no caminho certo. :slight_smile:

No meu ver, tenho que criar 3 vetores separados, no qual o usuario vai informar quantas pessoas ele deseja que participem. Mas o problema que eu não sei como eu posso definir o tamanho de um vetor por entrada de dados (usualmente eu uso a Scanner). Será que algúm pode me ajudar?

Abraçoss.[/b]

5 Respostas

thiago.correa

Na verdade você vai criar um Array de objetos Pessoa, cujo esse objeto deverá possuir os atributos definidos pelo problema (sempre pense voltado para a POO, lembre-se java não é C)!

Ok, tendo isso em mente você deve fazer com que o a pimeira pergunta a ser respondida é quantos registros o usuário deseja inserir! Esse valor será usado para criar o array e fazer a repetição das perguntas!

manolo

Thiago, o problema é que o professor não quer ainda que usássemos conceitos de POO.

Eu entendi o que você disse, e acho muito melhor usar dessa foma, mas o problema que preciso resolve da forma mais chatinha!

tem alguma soluçao?

comecei a fazer dessa forma:

import java.util.Scanner;
public class Ex2 {

	public static void main(String[] args) {
		
		Scanner input = new Scanner(System.in);
		
		int i;
		System.out.println(" - Informe o valor de N! - ");
		int tam = input.nextInt();
		
		String nome[] = new String[tam];
		int idade[] = new int[tam];
		String sexo[] = new String[tam];
		
		for ( i = 0; i < nome.length; i++){
			System.out.println(" - Informe o nome da " + (i+1) + "º pessoa");
			nome[i] = input.nextLine();
		}
		
		for ( i = 0; i < idade.length; i++){
			System.out.println(" - Informe a idade da " + (i+1) + "º pessoa");
			idade[i] = input.nextInt();
		}
		
		for ( i = 0; i < sexo.length; i++){
			System.out.println(" - Informe o sexo da " + (i+1) + "º pessoa");
			sexo[i] = input.nextLine();
		}

	}

}

Presumo eu que esteja um bela de uma "merda".

Abraço.

thiago.correa

Entendo!
Você não precisa fazer um for para cada array, faça um único com as 3 perguntas! Por praticidade :wink:

britotr

Cara, está certo… apenas faça tudo dentro de um unico for já que o usuario inseriu o valor do tamanho do array… depois só mandar exibir o que vc colocou… agora se der, estou precisando de exercicios tb… rsrsrs… passa a lista dos que seu prof passou se der… preciso praticar tb… abracos!!!

manolo

[b]O galera valeu pela a ajuda, já consegui fazer (graças a Deus!) :smiley:

Briotr, passa teu e-mail pra mim que te mando cara, são 4 exercícios!

Abraços, e aobrigado![/b]

Criado 26 de abril de 2010
Ultima resposta 26 de abr. de 2010
Respostas 5
Participantes 3