Criando vetor para Objeto [RESOLVIDO]

To tentando fazer um vetor de um Objeto, mas ta dando erro no runtime, Nullpointerexception. To iniciando ainda e to com problemas nisso, fiz o calculo de um triangulo só funcionar, mas na hora do vetor complicou.

Isso é a minha classe Triangulo

public class Triangulo {
    private double base;
    private double altura;
        public Triangulo(){
            base = 0.0;
            altura = 0.0;
        }
        public Triangulo(double base, double altura){
            this.base = base;
            this.altura = altura;
        }
    public double calcularArea(){
        return (base * altura)/2;
    }
    public void setBase(double base){
        this.base = base;
    }
    public void setAltura(double altura){
        this.altura = altura;
    }
    public double getBase(){
        return base;
    }
    public double getAltura(){
        return altura;
    }
}

Esse é o Main

public class CalculaTriangulo {
    public static void main(String ar[]){
        
        Triangulo[] t = new Triangulo[10];
        int i;
        for(i = 0; i<=10; i++)
        {
            t[i].setBase(Double.parseDouble(JOptionPane.showInputDialog("Entre com o numero da base")));
            t[i].setAltura(Double.parseDouble(JOptionPane.showInputDialog("Entre numero altura")));
            
                    }
        
        //Triangulo T; //var referencia
        //T = new Triangulo ();
        //T.setBase(Double.parseDouble(JOptionPane.showInputDialog("Entre com o numero da base")));
        //T.setAltura(Double.parseDouble(JOptionPane.showInputDialog("Entre numero altura")));
        
        System.out.print(t[i].calcularArea());
    }
     
}

Então, compila, roda e pergunta o primeiro valor, depois disso da erro:
Exception in thread “main” java.lang.NullPointerException
at CalculaTriangulo.main(CalculaTriangulo.java:20)
Java Result: 1

Se puder me dar um help ai e me dizer onde to errando…
Vlw aew

Cara!!!

O Codigo:

System.out.print(t[i].calcularArea());

Está fora do FOR!

Qualquer coisa avisa aee!

Cara não era isso não…
continua dando o mesm erro.
Será que não tenho que adicionar algo tb na classe Triangulo?

Aew, amigo meu me deu uma mão aqui, ta funfando, vlws aew

Pieter se possível posta o código ai e coloca [RESOLVIDO] no tópico =)
vlww

Cara desculpa por demorar a responder!
Mas antes da linha:

t[i].setBase(Double.parseDouble(JOptionPane.showInputDialog("Entre com o numero da base")));  

Voce Coloca:

t[i] = new Trinangulo();

Fica com DEUS:!:

E mais uma vez desculpa

outro detalhe tbm q vi, é o seu loop

Loop errado:

for(int i = 0; i <= 10; i++) // Esse loop vai de 0 ate 10 e um array de 10 posicoes vai de 0 a 9.

Loop correto

for(int i = 0; i < 10; i++)

// ou

for(int i = 0; i <= 9; i++)

[quote=caio.ribeiro.pereira]outro detalhe tbm q vi, é o seu loop

Loop errado:

for(int i = 0; i <= 10; i++) // Esse loop vai de 0 ate 10 e um array de 10 posicoes vai de 0 a 9.

Loop correto

for(int i = 0; i < 10; i++)

// ou

for(int i = 0; i <= 9; i++)

[/quote]

ou no lugar do 9 poderia ser

t.Length

Isso mesmo landantas

a melhor saída é fazer assim:


for(int i = 0; i < t.length; i++)

Piter

Kra percebi que vc esta usando os metodos set para definir as alturas e as bases dos triangulos, que compoem o vetor, mas como vc implementou o construtor n seria mas interessante usa-lo? So a titulo de curiosidade msm…