[RESPONDIDO] Intersecçao de Arrays!

4 respostas
manolo

Pessoal, o problema e simples mas não consigo entender onde está localizado o erro.
segue o código abaixo:

import java.util.*;
public class Ex1 {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		
		Scanner input = new Scanner(System.in);
		
		int A[] = new int[10];
		int B[] = new int[10];
		int C[] = new int[20];
		
		int i;
		int aux = 0;
		
		for ( i = 0; i<A.length; i++){
			System.out.println(" - Informe o " +(i+1)+ "º elemento do vetor A - ");
			A[i] = input.nextInt();
		}
		
		for ( i = 0; i<B.length; i++){
			System.out.println(" - Informe o " +(i+1)+ "º elemento do vetor B - ");
			B[i] = input.nextInt();
		}
		
		for ( i = 0; i< 10; i++){
			C[aux] = A[i];
			aux =+ 1;
			
			C[aux] = B[i];
			aux =+ 1;
			
		}
		
		for( i = 0; i<C.length; i++);
		System.out.println(C[i]);
		
		

	}

}

Eu apenas tenho que preencher dois vetores e mostra-los no vetor "C" intercalando os mesmos. Eu acho que a lógica esta certa, mas está dando Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 20.

Onde afinal está o erro?

Abraços.

4 Respostas

Flasoft

O primeiro erro está aqui:
for( i = 0; i<C.length; i++);

Retire o ponto e virgula no final do ultimo for então o seu print irá pertencer a ele!
É por este tipo de erro q é sempre indicado colocar { } no for!

E de quebra ainda não iria funcionar… :smiley:

Vc fez uma pegadinha ai!

aux =+ 1;

isto é a mesma coisa que fazer:

aux = 1;

e similar a fazer

aux = -1;

ou

aux = +10;
o que você queria fazer na verdade é:

aux++;

ou

aux = aux + 1;

ou

aux += 1; //+ do lado esquerdo para ser incremento
manolo

[b]Nossa Flasoft. Total descuido meu, que besteira cara! :oops:

Mas, aproveitando a chance. Tenho muita dificuldade em manipular arrays, e estava procurando informações a respeito na net. Acabei achando algumas formas de resolução tais como, bubllesort, mergesort, heapsort e etc…

O que seria esses métodos de resolução? (que me parecem ser bem complicados).
Compensa estuda-los e implementa-los?

Valeu pela ajuda.

Abraçoss. :smiley:
[/b]

Flasoft

Cara algoritmo de ordenação sempre é util!

Mas aconselho estudar só 2:

bublle sort (o mais rapido de implementar [ bom para o programador que está com pressa ])
quick sort (o melhor, mais rapido [ bom para o sistema ]!)

E só é util em casos muito especificos… em java nós temos algo já pronto:

Arrays.sort(aquiPassoMeuArray);

e

Collections.sort(aquiPassoMinhaCollectionListaMapSetEtc);

estes dois compensa dar uma estuda… (para tipos Boxing (String, Integer, Double…) é só usar da forma que mostrei… mas para tipos que você criou deve-se implementar uma interaface… Comparable ou Comparator [não me lembro exatamente ql é… geralmente quando implemento uma já implemento a outra tbm!])

[]s
:smiley:

manolo

[b]Legal, estou pesquisando aqui!

Valeu pela ajuda.

Abrasss.[/b]

Criado 21 de abril de 2010
Ultima resposta 21 de abr. de 2010
Respostas 4
Participantes 2