Simples, na classe vc declara um construtor que recebe dois argumentos inteiros, e nenhum construtor padrão (sem argumentos), e no metodo main vc tenta usar o construtor padrão, este é o erro.
Quando vc declara um construtor numa classe, o compilador não gera o construtor padrão, sendo assim necessário declará-lo explicitamente.
R
rnpennaPJ
Então qual é a forma correta de fazer ? Assim ?
publicstaticvoidmain(Stringargs[]){CalculaAreaca;ca=newCalculaArea(intalt,intlarg);System.out.println("O valor da área é "+ca.RetornaArea(4,5));}}
B
BrunoCarloPJ
“rnpenna”:
Então qual é a forma correta de fazer ? Assim ?
publicstaticvoidmain(Stringargs[]){CalculaAreaca;ca=newCalculaArea(intalt,intlarg);System.out.println("O valor da área é "+ca.RetornaArea(4,5));}}</blockquote>
Não, não é assim não, pq vc tem que ou declarar um contrutor padrão, assim:
publicCalculaArea(){}
ou passar os argumentos que o construtor pede, assim, por exemplo:
ca=newCalculaArea(0,0);//por exemplo.
Mas no seu caso eu percebi que vc não usa os atritbutos da classe para fazer o calculo da area, então acho que é melhor vc fazer o construtor padrão… ou talves colocar o teu método “RetornaArea” estatico.
Só como adição, em java, a gente segue um parão para nomiar classes, metodos, atributos, etc, é +/- assim:
no caso de nomes de classes, deve-se começar por letra maiuscula seguidos de minusculos, se houver mais de um nome, a primeira letra deste deve ser maiuscula… então “CalculaArea” esta legal.
para metodos e atributos, parametros e variaveis de metodos segue quase o mesmo padrão de nomes de classe, exceto pelo fato de ter que começar com letras minusculas, para não confundir com o nome da classe… então “RetornaArea” fica melhor “retornaArea”…