Equals

ola gurizada olhem esse codigo

public class relatorio {
    
    /** Creates a new instance of relatorio */
    public void relatori(paciente P){                  
       
         for (int i=1; i < P.arrayp.length; i++) {
          if (P.arrayp[i]!=null){
         
          if(P.arrayp[i].tipo.equals("pessoa_juridica")){    
System.out.println(P.nome);
System.out.println(P.idade);
System.out.println(P.identidade);
System.out.println(P.endereco);
System.out.println(P.pai);
System.out.println(P.mae);
System.out.println(P.tipo);
System.out.println("");
       
          }
       }
    
        else{
        
System.out.println(P.nome);
System.out.println(P.idade);
System.out.println(P.identidade);
System.out.println(P.endereco);
System.out.println(P.pai);
System.out.println(P.mae);
System.out.println(P.tipo);
System.out.println("");
      }
      }
     }      

    
    }

e quando eu mando usar o metodo dessa classe da a seguinte msg

Exception in thread “main” java.lang.NullPointerException
at relatorio.relatori(relatorio.java:23)
at teste.main(teste.java:77)

e aponte para

esse trecho do codigo

if(P.arrayp[i].tipo.equals("pessoa_juridica"))

alguem sabe me diser o que tem de errado nesse code???
[/code]

Se esse eh realmente o codigo, jah penso em declara a array??
:grin:

Exactamente, falta a declaração do array e eventualmente a declaração da NullPointerException no método relatori() utilizando a estrutura try-catch.

Exemplo:

void relatori() {

try { 

//o código que envolve o array

}  catch (NullPointerExeption npe) {}
}

amigos e que a array tah declarada na classe paciente.
mas a principio tah tud certo ne???o mew problema e que eu ñ estou conseguindo declarar a varitavel tipo como Pessoa_fisica ou juridica esse e o problema.
observem

public class teste {
    
    /** Creates a new instance of teste */
    public static void main(String[]args) {
    paciente p= new paciente();
    pessoa_fisica pf = new pessoa_fisica();
    pessoas_juridica pj = new pessoas_juridica();
    relatorio r = new relatorio();
    internacao in = new internacao();
    int opcao = 0;
    while(opcao!=7)
    {
    System.out.println("(1) cadastrar paciente");
    System.out.println("(2) Remover paciente");
    System.out.println("(3) Lista Pacientes");
    System.out.println("(4) Interna Paciente");
    System.out.println("(5) Lista Pacientes internados");
    System.out.println("(6) Efetua alta");
    System.out.println("(7) Sair do sistema");
    opcao = console.readInt("");
    
    
    
    if(opcao==1){

    int tip;
    System.out.println("informe o nome do paciente");
    p.nome=console.readLine("");
    System.out.println("informe a idade do paciente");
    p.idade=console.readInt("");
    System.out.println("informe o rg do paciente");
    p.identidade=console.readInt("");
    System.out.println("informe o endereco do paciente");
    p.endereco=console.readLine("");
    System.out.println("Indorme o nome do pae do paciente");
    p.pai=console.readLine("");
    System.out.println("Informe o nome da mae do paciente");
    p.mae=console.readLine("");
    System.out.println(" se passoa e juridica(1)");
    System.out.println(" se a pessoa e fisica(2)");
    tip=console.readInt("");
    if(tip == 1){
        pj.tipo = "pessoa_juridica";
        
    }
    if(tip == 2){
        pf.tipo = "pessoa_fisica";
       //o problema!!!!
    }
......

Hum…mas não era a NullPointerException que te impedia de compilar?

Um conselho:

if (tip==1)
pj.tipo = "pessoa_juridica";
else if (tip==2)
pj.tipo = "pessoa_fisica";

Qual é o erro que te dá agora então?

Assim deve funcionar:

if (P.arrayp[i] !=null && P.arrayp[i].tipo != null)

Mas pra esse tipo ser null, acho que tem algo errado em sua lógica.

Voce tem que padronizar esse codigo melhor.

Vc instanciou o array dentro da classe do paciente e também instanciou cada posição do array?

tipo

String[] array = new String[100];
for (int i=0; i < array.lenght; i++){
    array[i] = new String(); // ou apenas ""
}

T+

ps.: Observe o Java Code Convention para organizar melhor seu código