Galera, estou com um problema aqui.
Estou tentando instanciar um vetor de objeto mas não está funcionando.
Não tem erro de sitaxe, mas ao executar da o seguinte erro:
Exception in thread “main” java.lang.NullPointerException
at gerenciaProfessores.main(gerenciaProfessores.java:27)
Descobri que o problema está ao criar o vetor de objeto, pq eu já testei declarar a variável, ao invés de vetor, como uma variável simples, e aí funcionou.
Segue o código:
mport javax.swing.JOptionPane;
public class gerenciaProfessores {
/**
* @param args
*/
public static void main(String[] args) {
String ler;
int qt = 10;
Professor[] vetProf = new Professor[qt];
int cont = 0;
int opcao;
do{
ler = (JOptionPane.showInputDialog("Informe a opção:\n1-Inserir\n2-Pesquisar"));
opcao = Integer.parseInt(ler);
} while (opcao < 1 || opcao > 2);
switch (opcao){
case 1:
if (cont > 9){
JOptionPane.showMessageDialog(null, "Cadastro completo!");
break;
}
ler = JOptionPane.showInputDialog("Informe o nome do professor");
vetProf[1].setNome(ler);
ler = (JOptionPane.showInputDialog("Informe as horas semanais trabalhadas pelo professor"));
double h = Double.parseDouble(ler);
vetProf[cont].setHoras(h);
ler = (JOptionPane.showInputDialog("Informe o título do professor"));
vetProf[cont].setTitulo(ler);
cont++;
break;
case 2:
ler = (JOptionPane.showInputDialog("Informe o nome do professor para pesquisa"));
for (int i=0; i<10; i++){
int verificar=0;
if (vetProf[i].getNome() == ler){
ler = JOptionPane.showInputDialog("Informe a opção desejada:\n1-Calc. Sal. Bruto\n2-Calc. INSS\n3-Calc. IR\n4-Calc. Sal. Liq");
int op = Integer.parseInt(ler);
if (op == 1){
vetProf[i].salarioBruto();
}
else if(op == 2){
vetProf[i].INSS();
}
else if (op == 3){
vetProf[i].IR();
}
else if (op == 4){
vetProf[i].salarioLiquido();
}
else JOptionPane.showMessageDialog(null, "Opção inválida!");
}
else verificar++;
if (verificar > 0){
JOptionPane.showMessageDialog(null, "Nome inexistente!");
}
}
break;
default:
JOptionPane.showMessageDialog(null, "Erro do programa.");
System.exit(0);
}
}
}
Valeu.