Retornar Quantidade de Elementos

2 respostas
PaulaLopes
Boa noite, pessoal!

Não consigo retornar a quantidade de atomos de uma molecula. Um método que informe a quantidade de átomos de um elemento químico. Por exemplo, eu passo como parametro quantos

átomos de Hidrogênio(H), existe numa molécula de Metano (CH4), ou seja, como tem 4 hidrogênios devo retornar o valor 4.

Meu código ficou assim:

primeira classe elemento quimico( essa classe  esta feita,  coloquei pra vocês terem uma base)

public class ElementoQuimico

{

int numeroAtomico;

int numeroDeMassa;

String nomeElementoQuimico;

int []camada;
public ElementoQuimico(int numeroAtomico,int numeroDeMassa,String
nomeElementoQuimico){
    this.numeroAtomico=numeroAtomico;
    this.numeroDeMassa=numeroDeMassa;
    this.nomeElementoQuimico=nomeElementoQuimico;
    this.camada=new int[7];

}

public void setCamada(int camadaEscolhida, int numeroEletrons){
    for(int i=0;i<this.camada.length;i++){
        camada[camadaEscolhida]=numeroEletrons;
    
    }


}

public int getNumeroAtomico(ElementoQuimico atomo){
    return numeroAtomico;
}

public boolean ehIgual(ElementoQuimico outro){
if(this.numeroAtomico==outro.numeroAtomico){
return true;
}
else
return false;
}
public int getNumeroEletrons(int valorCamada){
return this.camada[valorCamada];

}
public void setNomeElemento(String nomeElemento){
this.nomeElementoQuimico=nomeElemento;
}
public String getNomeElemento(){
return this.nomeElementoQuimico;
}
}
e AGORA o código que eu to tendo problema:

public class Molecula

{

ElementoQuimico[]atomos;
public Molecula(){
this.atomos=new ElementoQuimico[0];
}
public void addElementoQuimico(ElementoQuimico atomo){

ElementoQuimico[]novo=new ElementoQuimico[this.atomos.length+1];

for(int i=0;i<this.atomos.length;i++){

novo[i]=this.atomos[i];

novo[novo.length-1]=atomo;

this.atomos=novo;

}

}

public int getQuantidaDeAtomos(String nomeAtomo){

int cont=0;

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

if(atomos[i].getNomeElemento()==nomeAtomo)
cont++;

 return cont;
}

}

O problema é justamente nesse último método.

2 Respostas

staroski

Compare String utilizando o método equals

if (nomeAtomo.equals(atomos[i].getNomeElemento())) {
    // faz algo
}
PaulaLopes

Obrigada,starosk!
abçs,

Criado 22 de maio de 2018
Ultima resposta 24 de mai. de 2018
Respostas 2
Participantes 2