Trabalhar com Definicao e uso de Metodos

17 respostas
M

Ola galera, olhe eu de novo na area… Gente… gostaria que me desses mais dicas de como trabalhar com definicao e metodos.

Eu confundo as vezes o que é metodo de classe estatico… por exemplo eu achei essa questao no livro e to me dando mal na de começar… to seguindo o passo passo até onde acho q estou fazendo correto… mas tento compilar uma simples besteira fiz so pra iniciar e diz que é expressao ilegal…

olhem a questao:

Defina uma classe chamada Retangulo1. Esta classe conter 3 metodos de classe(static): O metodo main e mais dois metodos calculaArea e calculaPerimetro.

Dentro do Metodo main, declare duas variaveis int, uma chamada base, a qual sera atribuido o valor da base do retangulo, e a outra chamada altura, a qual sera atribuida a altura do retangulo. Atribua a base o valor 5 e a altura o valor 3, por exemplo:

A saida do sei programa deverá ser:

A base do retangulo é 5.
A altura do retangulo é 3.
A area do retangulo é 15.
O perimetro do retangulo é 16.

O metodo calculaArea deve ser definido 2 parametros int. Um para receber o valor da base e o outro da altura. este metodo deve retornar a area do retangulo, que é calculada multiplicando-se a base pela altura.
    Semelhantemente, o metodo calculaPerimetro deve ser definido com dois parametros int. um para receber o valor da base e outro para receber a altura. Este deve retornar o perimetro do retangulo. que é calculado somando-se o valor dos 4 lados do mesmo.

Esse foi o meu começo de tentar fazer:

class Retangulo1{
    public static void main(String args[]){
        private int base=5;
        private int altura=3;
     public static calculaArea(int b, int a){
        base=b;
        altura=a;
         return (b*a);
     }
        
        
    
}

tentem compilar e vcs verao o erro como eu…

Obg a todos…

MigMax.

17 Respostas

M

Só dei uma olhadinha por cima…
Acho que vai resolver!

class Retangulo1{ 
    public static void main(String args[]){ 
        private int base=5; 
        private int altura=3; 
        System.out.print(calculaArea(base, altura));
     }
     public static int calculaArea(int b, int a){ 
        base=b; 
        altura=a; 
        return (b*a); 
     }     
}

Primeiramente é o seguinte, vc tem que por no método calculaArea te tipo de informação ele vai retornar, eu puz int, mas dá pra por outras coisas, ex: double, float, long, String, etc…
Outra coisa é que vc naum fechou com “}” o seu método main antes de começar o método calculaArea, hah e esqueceu de chamar o método calculaArea a partir do método principal (main)…

Entendeu ?
Espero ter te ajudado, e tirado suas dúvidas…

Abraço,
Maicon

M

Caro Maicon, nao sei se vc fez o que falei. ou seja, tentar compilar… pois continua dando o mesmo erro:

Erro : Illegal start of expression.

linha:         private int base=5;

Foi mesmo q aconteceu comigo quando tentei fazer algo similar eu tb ja tinha percebido que faltava uma }…

MigMax

J

“MigMax”:
Ola galera, olhe eu de novo na area… Gente… gostaria que me desses mais dicas de como trabalhar com definicao e metodos.

Eu confundo as vezes o que é metodo de classe estatico… por exemplo eu achei essa questao no livro e to me dando mal na de começar… to seguindo o passo passo até onde acho q estou fazendo correto… mas tento compilar uma simples besteira fiz so pra iniciar e diz que é expressao ilegal…

olhem a questao:

Defina uma classe chamada Retangulo1. Esta classe conter 3 metodos de classe(static): O metodo main e mais dois metodos calculaArea e calculaPerimetro.

Dentro do Metodo main, declare duas variaveis int, uma chamada base, a qual sera atribuido o valor da base do retangulo, e a outra chamada altura, a qual sera atribuida a altura do retangulo. Atribua a base o valor 5 e a altura o valor 3, por exemplo:

A saida do sei programa deverá ser:

A base do retangulo é 5.
A altura do retangulo é 3.
A area do retangulo é 15.
O perimetro do retangulo é 16.

O metodo calculaArea deve ser definido 2 parametros int. Um para receber o valor da base e o outro da altura. este metodo deve retornar a area do retangulo, que é calculada multiplicando-se a base pela altura.
    Semelhantemente, o metodo calculaPerimetro deve ser definido com dois parametros int. um para receber o valor da base e outro para receber a altura. Este deve retornar o perimetro do retangulo. que é calculado somando-se o valor dos 4 lados do mesmo.

Esse foi o meu começo de tentar fazer:

class Retangulo1{
    public static void main(String args[]){
        private int base=5;
        private int altura=3;
     public static calculaArea(int b, int a){
        base=b;
        altura=a;
         return (b*a);
     }
        
        
    
}

tentem compilar e vcs verao o erro como eu…

Obg a todos…

MigMax.

Regra em Java: Os atributos dentro de métodos não tem modificador de acesso…

Retire os private dos atributos no método main… blz?

Alterei sua classe. Tinha outros erros, como de balanceamente de {}

class Retangulo1{
    public static void main(String args[]){
      int base = 5;
      int altura = 3;
      System.out.println("Area: " + calculaArea(5, 3));
    }
    
    public static int calculaArea(int b, int a){
        return (b*a);
     }
}

Qq coisa estamos ai… :wink:

M

Cara, eu fico impressionado como voce domina isso… é incrivell :amo:

Eu tenho que aprender muito com vc JavaTeco…

Cada dica sua vai pro meu livrinho de anotaçoes…

Obg. irmao…

MigMax

R

recomendo-lhe urgentemente refazer (ou fazer pela primeira vez) um tutorial de java

M

Cara javateco,

eu to tentando agora fazer o calculaPerimetro… tentei seguir a mesma linha de racionio… onde to errando caro amigo?

class Retangulo1{ 
    public static void main(String args[]){ 
      int base = 5; 
      int altura = 3; 
      System.out.println("Area: " + calculaArea(5, 3)); 
      System.out.println("Perimetro" + calculaPerimetro(int _b, int _a));
    } 
    
    public static int calculaArea(int b, int a){ 
        return (b*a); 
     } 
    public static int calculaPerimetro(int _b, int _a){ 
        return ((b*a)+(b*a));
     } 
}
J

“MigMax”:
Cara, eu fico impressionado como voce domina isso… é incrivell :amo:

Eu tenho que aprender muito com vc JavaTeco…

Cada dica sua vai pro meu livrinho de anotaçoes…

Obg. irmao…

MigMax

Obrigado… Mas vc tem que aprender com todos nós aqui do Portal e ajudar quando der… isso é o espírito da comunidade e como o Ratinho disse muito bem, é a Família PortalJava…

:wink:

M

Irmao JavaTeco…acredite de grao em grao a galinha enche o papo… e vou chegar lá…

Vc viu a outra duvida?

Cara javateco, 

eu to tentando agora fazer o calculaPerimetro.. tentei seguir a mesma linha de racionio.. onde to errando caro amigo? 

Código: 


class Retangulo1{ 
    public static void main(String args[]){ 
      int base = 5; 
      int altura = 3; 
      System.out.println("Area: " + calculaArea(5, 3)); 
      System.out.println("Perimetro" + calculaPerimetro(int _b, int _a)); 
    } 
    
    public static int calculaArea(int b, int a){ 
        return (b*a); 
     } 
    public static int calculaPerimetro(int _b, int _a){ 
        return ((b*a)+(b*a)); 
     } 
}
R

o metodo calculaPerimetro esta com o o algoritmo errado

para calcular o perimetro de um retangulo, não se faz base * altura + base * altura
se faz 2 * base + 2 * altura

M

Ô JavaTeco, vou pegar no teu pé ! Heheheh
No método main vc pôs:
-> System.out.println("Area: " + calculaArea(5, 3)); !!!
Não teria sido melhor:
-> System.out.println("Area: " + calculaArea(base, altura)); ???

Ao contrário pra que serviria definir as variáveis int´s (base e altura) antes da chamada do método calculaArea ?

Foi só pra pegar no pé !!!
Valeu,
Maicon

M

Ahhhhhhhhhhhhhhhh… agora entendi esta chibata… hehehe

Vejam o codigo…

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("Area do Retangulo é:" + calculaArea(5, 3)); 
      System.out.println("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

Area do Retangulo é:15

Perimetro do Retangulo é:16

Poxa cara… que dica…

valeu mesmo…

Obg.

MigMax

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

    public static int calculaArea(int b, int a){
        return (b*a);
     }
    public static int calculaPerimetro(int b, int a){
        return ((b*2)+(2*a));
     }
}

Como o microfilo disso, a formula estava errado…

Vc estava fazendo declaração, onde deveria passar parâmetros. Dentro do método vc estava chamando os parâmetros com o nome errado…

Posso te dar uma dica: Estude mais a sintaxe de Java, pois os erros que vc está tendo é todas de sintaxe simples, tipo passagem de parâmetros… coisas que um programador Java tem que saber mais que seu nome… Na boa…

Mas estamos ai…
:wink:

M

Sim
Senhor :sentido:

Mas aos trancos e barrancos consegui com as dicas de voces fazer sair na tela como pede a questao do livro.

Migmax

J

“maicon_b”:
Ô JavaTeco, vou pegar no teu pé ! Heheheh
No método main vc pôs:
-> System.out.println("Area: " + calculaArea(5, 3)); !!!
Não teria sido melhor:
-> System.out.println("Area: " + calculaArea(base, altura)); ???

Ao contrário pra que serviria definir as variáveis int´s (base e altura) antes da chamada do método calculaArea ?

Foi só pra pegar no pé !!!
Valeu,
Maicon

Com certeza… puts, foi mal ai… :oops:

É a correria… desculpa ai pessoal

R
Cara javateco, 

eu to tentando agora fazer o calculaPerimetro.. tentei seguir a mesma linha de racionio.. onde to errando caro amigo? 

Código: 


class Retangulo1{ 
    public static void main(String args[]){ 
      int base = 5; 
      int altura = 3; 
      System.out.println("Area: " + calculaArea(5, 3)); 
      System.out.println("Perimetro" + calculaPerimetro(int _b, int _a)); 
    } 
    
    public static int calculaArea(int b, int a){ 
        return (b*a); 
     } 
    public static int calculaPerimetro(int _b, int _a){ 
        return ((b*a)+(b*a)); 
     } 
}

MigMax voltando.... o q vc estava errando nesse código em cima é q no método CalculaPerimetro vc tem os parametros _b e _a. E no método vc esta calculando ((b*a)+(b*a)) onde b e a não existe, só existe _b e _a então seria assim: ((_b*_a)+(_b*_a));

E para chamar o método CalculaArea tinha q ser assim:
CalculaArea(base, altura)
E para chamar o método CalculaPerimetro
CalculaPerimetro(base, altura));
Código corrigido:
class Retangulo1{ 
    public static void main(String args[]){ 
      
      int base = 5; 
      int altura = 3; 
      
      System.out.println("Area: " + CalculaArea(base,altura)); 
      System.out.println("Perimetro: " + CalculaPerimetro(base, altura)); 
    } 
    
    public static int CalculaArea(int b, int a){ 
        return (b*a); 
     } 
     
     public static int CalculaPerimetro(int _b, int _a){ 
        return ((_b*_a)+(_b*_a)); 
     } 
}

Mig... eu tambem sou iniciante, com seus exemplos q vc postou anteriormente e em outros tópicos, eu aprendi bastante, pois as suas dúvidas tambem foram as minhas :grin:

Percebi que vc esta se confundindo um pouco com os parâmetros e variáveis, mas issu é simples, vc ja esta com as manhas.

Posso estar errado tmb qualquer coisa vcs me chamam a atenção :lol:

Bom espero ter ajudado, qualquer coisa pega meu MSN ou ICQ.

Abração :grin:

M

Caro Ralph,

Qual seu MSN?

MigMax

R

Putz hehe eu pensei que eu tinha deixado visivel meu MSN e ICQ.
Eu ja te mandei uma MP, mas qualquer coisa meu MSN é :
[color=“blue”][email removido][/color]

Abração :grin:

Criado 23 de junho de 2004
Ultima resposta 23 de jun. de 2004
Respostas 17
Participantes 5