Erro no new

9 respostas
N

[color=violet][/color][b]minha aplicação JAVA

[/b]public class TestaMassaCorporal

{

public static void main (String args[])

{

System.out.println("\nTestando a classe Massa Corporal");

char resp;

do

{

System.out.println("\nDigite o número da matrícula: ");

int matricula=Keyboard.readInt();
System.out.println("\nDigite o nome completo: ");
		String nomeCompleto=Keyboard.readString();

		System.out.println("\nDigite o sexo (f-feminino m-masculino): ");
		char sexo=Keyboard.readChar();

		System.out.println("\nDigite o peso: ");
		double peso=Keyboard.readDouble();

		System.out.println("\nigite a altura: ");
		double altura=Keyboard.readDouble();

		MassaCorporal mc = new MassaCorporal(matricula,nomeCompleto,sexo,peso,altura);

		System.out.println("\nIMC:"+mc.calcularIMC());
		System.out.println("\nPeso Ideal: "+mc.calcularPesoIdeal());
		System.out.println("\nSituação: "+mc.informarSituacao());
	}
	while(resp=='s'||resp=='S');
}

}

[b]está dando o seguinte erro:

[/b]C:\Documents and Settings\Normanda\Meus documentos\classes e aplicações em java\TestaMassaCorporal.java:24: cannot find symbol

symbol  : constructor MassaCorporal(int,java.lang.String,char,double,double)

location: class MassaCorporal

MassaCorporal mc = new MassaCorporal(matricula,nomeCompleto,sexo,peso,altura);

--------------------------^

[b]gostaria de saber  quais podem ser os motivos deste erro!

[b]A classe é esta:

[/b]public class MassaCorporal

{

private int matricula;

private String nomeComplemento;

private char sexo;

private double peso;

private double altura;

private double imc;

private String situacao;

private double pesoIdeal;

public MassaCorporal(int matricula,String nomeCompleto,char sexo,double peso,double altura,String situacao)

{

this.matricula=matricula;

this.nomeComplemento=nomeComplemento;

this.sexo=sexo;

this.peso=peso;

this.altura=altura;

this.imc=imc;

this.situacao=situacao;

}

public double calcularIMC()

{

imc=0;

imc=peso/(altura*altura);

return imc;

}
public double calcularPesoIdeal()
{
	double pesoIdeal;
	pesoIdeal=0;
	if (sexo=='f'||sexo=='F')
{

pesoIdeal=(72.7*altura)-58.0;

}
if (sexo=='m'||sexo=='M')
{

pesoIdeal=(62.1*altura)-44.7;

}

return pesoIdeal;

}
public String informarSituacao()
  {
	  situacao="";
	  if (imc>=20 & imc<=24.9) situacao="Normal";
	  if (imc>=25 & imc<=29.9) situacao="Sobrepeso";
	  if (imc>=30 & imc<=39.9) situacao="Pré-obeso";
	  if (imc>40) situacao="Obesidade";
	  return situacao;
  }

}

9 Respostas

mInEiRo

tem o importe da classe no arquivo se ela for de um pacote diferente?
ela existe?
o contrutor dela está correto?

M

Informe o erro completo.

fiaux

Assim fica difícil, informe o erro completo, use tags code para postar o código por favor. Se o erro é em:

MassaCorporal mc = new MassaCorporal(matricula,nomeCompleto,sexo,peso,altura); podem ser várias coisas, sem saber a mensagem fica difícil, mas eu chuto que o construtor não existe, ou que passou um tipo inválido, ou um número inválido de parâmetros.

mInEiRo

o contrutor tem 6 parametros e vc esta enviando somente 5

fiaux

É isso mesmo, eu nem vi o código… sem tag code não dá…

kinow

Normanda,

você está utilizando o construtor:

MassaCorporal mc = new MassaCorporal(matricula, nomeCompleto, sexo, peso, altura);

Mas na verdade, está faltando um argumento para atender à lista de parâmetros. Tente algo como:

MassaCorporal mc = new MassaCorporal(matricula, nomeCompleto, sexo, peso, altura, “Normaaaal”);

Isso fará seu código funcionar. Só mais uma dica, dê um valor padrão à variável situacao da Classe MassaCorporal. Assim não acontecerão estranhos casos de uma variável em branco :-|.

Ok? :wink:

Sorte com seu código
Abraço

Pregui

Você não está passando o valor da String situacao quando o objeto é instanciado…

peczenyj

Ta faltando o IMC no contrutor. ou melhor, o IMC está sobrando.

N

obrigada pessoal!
problema resolvido!
:smiley:

Criado 22 de julho de 2008
Ultima resposta 23 de jul. de 2008
Respostas 9
Participantes 7