Trabalhar com Definicao e uso de Metodos. Parte 2

11 respostas
M

Ae galera. isso ta parecendo até filme…

tem uma questao no livro que a seguinte… ele manda fazer uma segunda versao do programa que vcs me ajudaram a fazer abaixo:

class Retangulo1{ 
    public static void main(String args[]){ 
      int base = 5; 
      int altura = 3;
      System.out.println("A base do Retangulo é:" + base); 
      System.out.println("A Altura do Retangulo é:"+ altura);
      System.out.println("A Area do Retangulo é:" + calculaArea(5, 3)); 
      System.out.println("O Perimetro do Retangulo é:"+ calculaPerimetro(5,3));

    }     
    public static int calculaArea(int b, int a){ 
        return (b*a); 
     } 
    public static int calculaPerimetro(int x, int y){
        return ((2*x)+(2*y));
        
     } 
} 
Na tela:

A base do Retangulo é:5

A Altura do Retangulo é:3

A base do Retangulo é:5

A Altura do Retangulo é:3

o livro peder um Rentagulo2, onde os metodos calculaArea e calculaPerimetro nao tenha retorno, ou seja, tem quer ser do tipo void nao é? td bem… vamos lá… diz que os comandos de impressao da area e e do perimetro devem esta contidos nos respectivos metodos. so que no caso eu teria que renomeiar para exibeArea e exibePerimetro. pois assim os nomes ficariam compativeis com e a tarefa q eles executam, Diz que a saida tem que ser a mesma mostrada antes…

eu tentei iniciar… mas to meio empancado…

olhem:

class Retangulo2{ 
    public static void main(String args[]){ 
      int base = 5; 
      int altura = 3;
      int s;
      System.out.println("A base do Retangulo é:" + base); 
      System.out.println("A Altura do Retangulo é:"+ altura);
      //System.out.println("A Area do Retangulo é:" + calculaArea(5, 3)); 
      //System.out.println("O Perimetro do Retangulo é:"+ calculaPerimetro(5,3));

    }     
    public void int exibeArea(int b, int a){ 
            s=(b*a); 
     } 
    public static int ExibePerimetro(int x, int y){
         ((2*x)+(2*y));
        
     } 
}

deixei alguns como coments pois nao sei onde irei inserir isso.

Dicas…

MigMax

11 Respostas

M
no main vc  chama o método sem por ele dentro de um pirnt

 vc poe o print dentro do método

Ex:

public static void exibeArea(int b, int a){

System.out.print(b*a);

}

Hah e não põe int mas sim void, ou ele retorna int, double String, etc, ou ele naum retorna nada (no caso void)!

Entendeu ?
Abraço,
maicon

M

Colega, acho q entendi. mas se é do tipo void… cm é q vou mostrar isso na tela amigo?

M

eu só consigo mostrar:

A base do Retangulo é:5

A Altura do Retangulo é:3
class Retangulo2{ 
    public static void main(String args[]){ 
      int base = 5; 
      int altura = 3;
     System.out.println("A base do Retangulo é:" + base); 
     System.out.println("A Altura do Retangulo é:"+ altura);
     //System.out.println("A Area do Retangulo é:" + exibeArea(5, 3)); 
      //System.out.println("O Perimetro do Retangulo é:"+ calculaPerimetro(5,3));

    }     
    public static void exibeArea(int b, int a){ 
          System.out.print(b*a); 
           } 

    public static void ExibePerimetro(int x, int y){
         System.out.print((2*x)+(2*y));
        
     } 
}

Como faço para inserir os que estao em comentarios?

Migmax

M

Seguinte:

class Retangulo2{ 
    public static void main(String args[]){ 
      int base = 5; 
      int altura = 3; 
     System.out.println("A base do Retangulo é:" + base); 
     System.out.println("A Altura do Retangulo é:"+ altura); 
     exibeArea(base, altura)); 
     calculaPerimetro(base, altura)); 
    }      

    public static void exibeArea(int b, int a){ 
          System.out.println("Área: " + (b*a)); 
    } 

    public static void ExibePerimetro(int x, int y){ 
         System.out.println("Perímetro: " + ((2*x)+(2*y))); 
     } 
}

Obs: Não testei mas deve dar certo!

Primeiro vc deve utilizar as variáveis para enviar os valores para os métodos: ex: exibeArea(base, altura));
Segundo é só chamar os métodos e “saír pro abraço”…

Blz?
Maicon

M

Nao irmao, nao deu certo… eu ainda corrigi duas coisas que acho que esatva errado, mas mesmo assim nao roda…

vc colocou ) demais linha

exibeArea(base, altura); 
exibePerimetro(base, altura); 

eu fiz umas mudanças, mas o erro é identico..

eu  fiz

lass Retangulo3{ 
    public static void main(String args[]){ 
      int base = 5; 
      int altura = 3; 
     System.out.println("A base do Retangulo é:" + base); 
     System.out.println("A Altura do Retangulo é:"+ altura); 
     exibeArea(base, altura); 
     exibePerimetro((2*base)+(2*altura)); 
    }      

    public static void exibeArea(int b, int a){ 
          System.out.println("Área: " + (b*a)); 
    } 

    public static void ExibePerimetro(int x, int y){ 
         System.out.println("Perímetro: " + ((2*x)+(2*y))); 
     } 
} 


O erro acontece na linha

exibePerimetro((2*base)+(2*altura)); 
 Erro: Cannot resolve this symbol - method exibePerimetro(int)

Alguma sugestao?

MigMax

M

IX… postei errado, nem ví !

troca:

-> exibePerimetro((2<em>base)+(2</em>altura));

por:

-> exibePerimetro(base, altura);

É porque vc tem que passar parâmetros para o método…

Blz?
Abraço,
Maicon

M

Hah esqueci de outra coisa…

Troca:

-> public static void ExibePerimetro(int x, int y)

para:

-> public static void exibePerimetro(int x, int y)

Pois a sintaxe Java é case sensitive… quero dizer, diferencia de letras maiúsculas para letras minúsculas.

Flw?
Maicon

M

Agora sim moleque… deu certo… agora deixa eu quebrar um pouco a cabeça e com calma entender o que vc fez…

Abraço

MigMax

M

Moleque ? Jeito carinhoso de me tratar… hehehehe… Brincadeira…

Olha só, dá uma estudada… qualquer coisa dá um toque blz ?

Flw,
Maicon

M

Acredite maicon, pelo menos aqui pra nós… quando chamamos alguem de moleque, é a mesma coisa de dizer que a pessoa é fera, cara esperto, vivedor… acredite algo do genero… hehehe

MigMax

M

hah certo, sem problemas… :grin:
Agora que eu entendi…
Também não quis criticar ninguém,
eu até conheço um pouco dos tratamentos fora de SC. :wink:
Show de bola…

Valeu,
Maicon

Criado 23 de junho de 2004
Ultima resposta 23 de jun. de 2004
Respostas 11
Participantes 2