Erro script reserva

Pessoal, boa noite!!!
Sou novo aqui, queria pedir a ajuda de vcs, estou aprendendo java, e estou tentando fazer um script de reserva de passagem aérea.

O código abaixo, ele da erro e para, como faço pra passar pro proximo passo, que no caso ai ele entraria no while.
Tentei pesquisar e não consegui achar nada, teria como me explicar, sou estudante e estou tentando aprender… =)
Ah não terminei o código, estou tentando, e se estou indo no caminho certo.
Vlw galera!

[code]import javax.swing.;
import java.util.
;
public class reserva {
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
int[] voo = new int[38];
int[] qlug = new int[300];
int i, nvoo;
int rg = 0;
int lug = 0;

   // contagem de voos de 1 a 37
    for (i = 1; i < voo.length; i++){
    	voo[i] = i;
    }
   // iserção das vagas em cada um dos 37 voos.
      for (i = 1; i< qlug.length; i++){
    System.out.println("Digite a quantidade de vagas para o Voo numero: " +voo[i]); 
    qlug[i]= sc.nextInt();
    }
  
   // enquanto a identidade for diferente de 9999, irá continuar pedir a identidade.
   while(rg != 9999){
	   System.out.println("Digite o numero da identidade:");
	   rg = sc.nextInt();
	   if(voo.length < 38){
		   System.out.println("Digite o numero do voo desejado:");
		   voo[i] = voo[i] - i;
		   
			 
	   } else {
		   System.out.println("Este voo não existe!");
		  }
	   if(qlug.length > 0){
		   System.out.println("");
	   }
	   
	   
   }
   
   
  }  
}

[/code]

Qual o erro apresentado? Em que parte do código exatamente você está com dúvidas?

Ele da esse erro:

Exception in thread “main” java.lang.ArrayIndexOutOfBoundsException: 38
at reserva.main(reserva.java:18)

Eu li sobre isso, fala que ele não consegue preencher o array 38, eu sei pq, é pra ir até 37 msm…
eu quero q passe adiante, não retorne o erro… deu pra entender ?

O erro é porque seu segundo for percorre qlug.length que tem 300 posições de array, enquanto voo possui apenas 38 (de 0 a 37). Sua variável i dentro deste for iria variar então de 0 a 299. Quando chega à i com valor 38, o código tenta acessar a posição voo[38] e o erro acontece. Seu for deveria percorrer voo.length.

// iserção das vagas em cada um dos 37 voos. for (i = 1; i< qlug.length; i++){ System.out.println("Digite a quantidade de vagas para o Voo numero: " +voo[i]); qlug[i]= sc.nextInt(); }

Vlw,

Eu estava associando o vetor errado né, que vácilo!
Vou continuar tentando aqui, qualquer dúvida posto ai.
Obrigado!

Mais uma dúvida:
No código abaixo, ele imprime o numero do voo que é o vetor Voo e a quantidade de vagas que eu cadastrei para cada voo.
Como faço para associar os dois, vou explicar:
Para o Voo 1: Tem 20 vagas disponiveis. (já exibe no código abaixo)
Proximo passo, o cliente registrado pelo RG seleciona o Voo(X) e pede 5 vagas.
Proximo passo, subtrai do Voo(X), 5 vagas, e ai fica com 15.

Já vou deixando claro que é um exercício de faculdade, porém não quero scripts já resolvidos por programadores experiêntes.
Quero tiver como me auxiliar, como fazer, qual comando jogar, e pq?

No mais, Obrigado!

[code]import java.util.;
import javax.swing.
;
public class Reserva {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int[] Voo = new int[4];
int[] Poltronas = new int[4];
int i, j, nRG;
int nVoo;
int nPoltronas;
int RG = 0;

    // contagem do vetor Voo
    for (i = 1; i < Voo.length; i++) {
        Voo[i] = i;
    }
    // contagem do vetor Poltronas
    for (j = 1; j < Poltronas.length; j++){
        Poltronas[j] = j;
    }
    // Inserção das poltronas disponíveis em cada um dos 4 voos.
    for (i = 1; i < Voo.length; i++) {
        System.out.println("Digite a quantidade de vagas para o Voo numero: " + Voo[i]);
        Poltronas[1] = sc.nextInt();
    }
    // Imprime a lista de Voos + Poltronas disponiveis
    Arrays.sort(Voo);
    System.out.println("Lista de vagas disponíveis:");
    for (i = 1; i <Voo.length; i++){
        System.out.println("Para o voo "+Voo[i]+" existem:\n ["+Poltronas[1]+"] disponíveis.");
    }// Inserção do RG do cliente
    if(RG != 9999){
       System.out.println("Digite o número da sua identidade");
       nRG = sc.nextInt();
       System.out.println(nRG);
        while(nRG != 99999){
        
        }    
    }
    
    
  }

}[/code]