Metodo para mostrar os salários dentro de um array

2 respostas
M
Olá pessoal não estou conseguindo mostrar todos os salários de todos os funcionarios do array, só estou conseguindo monstrar o salário do primeiro funcionario e em seguida ele da o erro  Exception in thread main java.lang.NullPointerException

at banco.Funcionarios.adciona(Funcionarios.java:32)

at banco.teste.main(teste.java:22)

Java Result: 1
package banco;

public class Funcionarios {
   
   private    int num_funcionarios;   
   private String nome;
   private String sobrenome;
   private String rg;
   private String departamento;
   private String data_entrada;
           double salario;
           double aumento_salario;
   
    Funcionarios[] funcionarios;
  
    
   
    //ADCIONA PARA O ARRAY
    public void adciona(Funcionarios funcionarioX)
      {   
          funcionarios = new Funcionarios[2];
          
          funcionarios[num_funcionarios]= funcionarioX;
          
          num_funcionarios +=1; 
          
          //deveria monstrar o salario dos 3 funcionarios
           for (int x=0; x < this.funcionarios.length; x++)
           {
             
            System.out.println(this.funcionarios[x].salario);//deveria monstrar o salário dos funcionarios
                
           }         
      }     
}

classe com método main

package banco;

import javax.swing.JOptionPane;


public class teste {

    public static void main(String[] args) {
       
 //cadastro de novo cliente       
     //   String nome = JOptionPane.showInputDialog("Qual o nome do novo cliente:");
       // String sobrenome = JOptionPane.showInputDialog("Qual o sobrenome do novo cliente:");
       // String cpf = JOptionPane.showInputDialog("Qual o sobrenome do novo cliente:");
        //Clientes novo_cliente = new Clientes(nome, sobrenome, cpf );
     
//CADASTROS DE FUNCIONARIOS.        
     Funcionarios controle_funcionarios = new Funcionarios();
     
     Funcionarios f1 = new Funcionarios();
     f1.salario = 1350;
     controle_funcionarios.adciona(f1);
     
     Funcionarios f2 = new Funcionarios();
     f1.salario = 1450;
     controle_funcionarios.adciona(f2);
             
     Funcionarios f3 = new Funcionarios();
     f1.salario = 1550;
     controle_funcionarios.adciona(f3);
     
    }       
}

2 Respostas

D

O erro é devido o this.funcionarios[x].salario estar apontando pra um endereço null

adiciona na linha 30 em cima do seu System.out.println(this.funcionarios[x].salario);

if(this.funcionarios[x] == null) break;

PS: sua classe está errada
crie uma classe Funcionário e outra Funcionários

M

Eu também havia pensado nisso amigo só que antes de eu tentar monstrar o salário no array eu ja tinha colocado um salário la só para um simples teste,
justamente para evitar esse erro do null.

Criado 21 de julho de 2012
Ultima resposta 22 de jul. de 2012
Respostas 2
Participantes 2