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 já esta feita, só 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.