Transformar em impar

Olá Pessoal,

tentei criar um código onde transformo os números de um vetor em números impares… onde estou errando…?

public class Sorteio
{
int vetor[]= new int[9];

public Sorteio()
{
    for(int i=0; i<vetor.length; i++)
        vetor[i]=(int)Math.round(Math.random()*50); 
}

public int getNumber(int num)
{
    return vetor[num];
}

public void SetNumber(int pos, int num)
{

    vetor[pos]=num;
}

public static void main(String args[])
{
    Sorteio vImpar[] = new Sorteio[9];        
    int teste=0;
    
    for (int i=0; i<vImpar.length; i++)
    {
        teste = vImpar[i].getNumber(i)%2;
        if (teste==0)
        {
            vImpar[i].SetNumber(i,vImpar[i].getNumber(i)+1);
        } 
    System.out.println(vImpar[i].getNumber(i));
    }
}

}

Erro:
Exception in thread “main” java.lang.NullPointerException
at Sorteio.main(Sorteio.java:29)

se alguém puder me ajudar… VALEU!!!

ao invés de

Sorteio vImpar[] = new Sorteio[9];

vc deve criar

Sorteio s = new Sorteio();

e dai vc pode acessar as variáveis e os métodos
por exemplo

s.vetor[3] = 5;

Muito Obrigado!!! além de funcionar clareou muito!! Valeu!!!