Chamada de método

4 respostas
N

Estou com um probleminha!
Gostaria de saber como eu chamo o método calcularArea que está dentro da classe abaixo!
Como eu posso chamá-lo dentro do método main?

class CalculoDeArea

{

public static void main (String args[])

{
System.out.println("Digite a letra inicial da figura geometrica(q-quadrado,r-retangulo,c-cubo)");
	char figuraGeometrica=Keyboard.readChar();
    int area;
       area=calcularArea();
	if (figuraGeometrica=='q')
	{
	System.out.println("\nDigite a medida dos lados do quadrado");
	int lado1=Keyboard.readInt();
     System.out.println(area);
}
	if (figuraGeometrica=='r')
	{
	System.out.println("\nDigite as medidas da altura e da base do retângulo");
	int lado1=Keyboard.readInt();
	System.out.println("\n");
	int lado2=Keyboard.readInt();
    System.out.println(area);
}
	if (figuraGeometrica=='c')
	{
	System.out.println("\nDigite as 3 medidas do cubo");
	int lado1=Keyboard.readInt();
	System.out.println("\n");
	int lado2=Keyboard.readInt();
	System.out.println("\n");
	int altura=Keyboard.readInt();
    System.out.println(area);
}



}


private static int calcularArea(int altura,int lado1,int lado2,char figuraGeometrica)
{

  int area=0;
  if (figuraGeometrica=='q'){
  area=lado1*lado1;

}

if(figuraGeometrica=='r'){
  area=lado1*lado2;

}

if (figuraGeometrica=='c'){
  area=lado1*altura*lado2;

}

return area;

}
}

4 Respostas

H

Bom, não sei da onde você tirou esse “keyboard”… mas parece que ele faz algo semelhante ao scanner…

class CalculoDeArea {

    public static void main(String args[]) {

        System.out.println("Digite a letra inicial da figura geometrica(q-quadrado,r-retangulo,c-cubo)");
        char figuraGeometrica = Keyboard.readChar();
        int area;
        int altura = 0, lado1 = 0, lado 2 =0;
        //bom, nao existe um metodo calcularArea()... entao nem tente....
        //area = calcularArea();
        if (figuraGeometrica == 'q') {
            System.out.println("\nDigite a medida dos lados do quadrado");
            lado1 = Keyboard.readInt();
            //tá bem repetitivo essa linha... vamos fazer depois de todos os "ifs"
            //System.out.println(area);
        }
        if (figuraGeometrica == 'r') {
            System.out.println("\nDigite as medidas da altura e da base do retângulo");
            lado1 = Keyboard.readInt();
            System.out.println("\n");
            lado2 = Keyboard.readInt();
            //System.out.println(area);
        }
        if (figuraGeometrica == 'c') {
            System.out.println("\nDigite as 3 medidas do cubo");
            lado1 = Keyboard.readInt();
            System.out.println("\n");
            lado2 = Keyboard.readInt();
            System.out.println("\n");
            altura = Keyboard.readInt();
            //System.out.println(area);
        }
        area = calcularArea(altura,lado1,lado2,figuraGeometrica);
        System.out.println(area);


    }

    private static int calcularArea(int altura, int lado1, int lado2, char figuraGeometrica) {

        int area = 0;
        if (figuraGeometrica == 'q') {
            area = lado1 * lado1;

        }

        if (figuraGeometrica == 'r') {
            area = lado1 * lado2;

        }

        if (figuraGeometrica == 'c') {
            area = lado1 * altura * lado2;

        }

        return area;
    }
}
Kassiane_Pretti

Instancia um objeto da classe CalculoDeArea e chama o método que vc deseja.

D

Não é indicado declarar métodos dentro da main, então crie o método dentro da classe CalculoDeArea e fora da main e não precisa ser static, então dentro da main vc cria um objeto do tipo CalculoDeArea “calculoDeArea calculo = new CalculoDeArea();” e então vc chama o método assim “calculo.calcularArea(…);”

class Teste 
{   
	public int calcularArea(int altura, int lado1, int lado2, char figuraGeometrica) {   
		  
	        int area = 0;   
	        
	        if (figuraGeometrica == 'q') {   
	            area = lado1 * lado1;   
	  
	        }   
	  
	        if (figuraGeometrica == 'r') {   
	            area = lado1 * lado2;   
	  
	        }   
	  
	        if (figuraGeometrica == 'c') {   
	            area = lado1 * altura * lado2;   
	  
	        }   
	  
	        return area;   
}  
	
	public static void main(String args[]) 
	{   
		Teste T = new Teste();
			
	        System.out.println("Digite a letra inicial da figura geometrica(q-quadrado,r-retangulo,c-cubo)");   
	        char figuraGeometrica = Keyboard.readChar();   
	        int area;   
	        int altura = 0, lado1 = 0, lado2 =0;   
	        //bom, nao existe um metodo calcularArea()... entao nem tente....   
	        //area = calcularArea();   
	        if (figuraGeometrica == 'q') {   
	            System.out.println("\nDigite a medida dos lados do quadrado");   
	            lado1 = Keyboard.readInt();   
	            //tá bem repetitivo essa linha... vamos fazer depois de todos os "ifs"   
	            //System.out.println(area);   
	        }   
	        if (figuraGeometrica == 'r') {   
	            System.out.println("\nDigite as medidas da altura e da base do retângulo");   
	            lado1 = Keyboard.readInt();   
	            System.out.println("\n");   
	            lado2 = Keyboard.readInt();   
	            //System.out.println(area);   
	        }   
	        if (figuraGeometrica == 'c') {   
	            System.out.println("\nDigite as 3 medidas do cubo");   
	            lado1 = Keyboard.readInt();   
	            System.out.println("\n");   
	            lado2 = Keyboard.readInt();   
	            System.out.println("\n");   
	            altura = Keyboard.readInt();   
	            //System.out.println(area);   
	        }   
	        area = T.calcularArea(altura,lado1,lado2,figuraGeometrica);   
	        System.out.println(area);   
	  
	  
	    }   
	} 
}

Ficaria mais ou menos assim, mas vc tem que arrumar seu código, pois tem alguns erros.

N

[b][color=red][/color]OK!
mto obrigada gente!!!
Já consegui!!! :smiley:

Criado 29 de julho de 2008
Ultima resposta 5 de ago. de 2008
Respostas 4
Participantes 4