Preciso de ajuda NullPointerException

Problema para utilizar um vetor de classe está gerando o erro: Exception in thread “main” java.lang.NullPointerException

import javax.swing.JOptionPane;
       
public class AgenciaViagens {
    
    public AgenciaViagens() {
    }
    
    public static void main(String[] args) {
        int cod;
        int i=1, CPF;
        String sopcao;
        String Nome=" ";
        String Funcao=" ";        
        String SCPF=" ";        
        
        
 Atendente[] Atendentes = new Atendente[10];           
        Atendentes[i].SetNome("Alessandro");
        Atendentes[i].SetFuncao("Analista");
        Atendentes[i].SetFuncao("Analista");               
        Atendentes[i].SetCPF(145);
          
  do{     
        Nome = JOptionPane.showInputDialog(null,"Digite o nome do Atendente");
        Funcao = JOptionPane.showInputDialog(null,"Digite a funcao do Atendente");
        SCPF = JOptionPane.showInputDialog(null,"Digite o CPF do Atendente");
        CPF = Integer.parseInt(SCPF);
        JOptionPane.showMessageDialog(null,Nome + " " + Funcao + " " + CPF);
        Atendentes[i].SetNome(Nome);        
        Atendentes[i].SetFuncao(Funcao);               
        Atendentes[i].SetCPF(CPF);        
        i++;
               
   }
        while (i != 10);
        
        }
        
    }

/***************************************/

public class Atendente {
    private int CPF;
    private String Nome;
    private String Funcao;
 
    
    public void OferecerPassagem(){
        
    }
    public void SetNome(String ParNome){
        Nome = ParNome;
    }

    public void SetFuncao(String ParFuncao){
        Funcao = ParFuncao;
    }

    public void SetCPF(int ParCPF){
        CPF = ParCPF;
    }
    
    
}

Quando se cria um vetor de n elementos em java, seus índices vão de zero a n-1, logo, quando você declara o vetor

Atendente[] Atendentes = new Atendente[10]

os índices desse vetor vão de zero a 9.

No início da classe AgenciaViagens você está inicializando o contador controlador dos índices do vetor com 1. Tente inicializá-lo com zero.

Se o erro continuar, tente instanciar cada índice do vetor individualmente, colocando dentro do do/while (antes de ler os campos) Atendentes[i] = new Atendente(). Instancie também o primeiro índice do vetor (índice zero) depois de declará-lo e antes de setar os campos que você está setando antes do loop.

Tenta aí.

Você não instanciou nenhum Atendente, apenas criou um vetor com 10 posições:

Atendente[] Atendentes = new Atendente[10]; Atendentes[i].SetNome("Alessandro"); Atendentes[i].SetFuncao("Analista"); Atendentes[i].SetFuncao("Analista"); Atendentes[i].SetCPF(145);

Você pode fazer assim:

[code]Atendente[] Atendentes = new Atendente[10];
for(int i = 0; i < Atendentes.length; i++) {
Atendentes[i] = new Atendente(); // agora sim está instanciando um Atendente…
}

Atendentes[i].SetNome(“Alessandro”);
Atendentes[i].SetFuncao(“Analista”);
Atendentes[i].SetFuncao(“Analista”);
Atendentes[i].SetCPF(145);[/code]

ps.: por favor, não duplique os tópicos duplicado

T+

vc nao instanciou nenhum objeto, apenas declarou o array. Instancie que vai funcionar.

vc tem que instanciar um objeto…
tipo, vc declarou somente o Array, lembrando que os índices do seu vetor vão de 0 à 9.
Tente instanciar um atendente, acho que vai funcionar!!!
T+!

Perai, se deu um thread main, significa que vc esta tentando rodar a aplicação como java application, certo? Assim não vai rodar, vc deve rodar por algum serviço, tipo o tomcat, a não ser que seja aplicação desktop.

Ignorem o que eu disse, achei que esta na sessão de java web