Eclipse... 2 dúvidas

14 respostas
C

Olá.

Tenho 2 dúvidas a respeito do Eclipse…

  1. Como eu faço pra compilar no Eclipse?! Só salvando ele já compila? Digo, compilar pra criar um bytecode, o arquivo.class (função semelhante do javac do DOS.)

class Exemplo { double calculaAreaDeQuadrado (double lado) { return lado * lado; } }
Eu sei que é um código ridículo, mas não existe um modo para que eu possa pelo menos testar valores do “lado” sem eu necessariamente dar o runsei lá, atribuir um valor para lado e verificar a resposta (no caso, o return)… o run não funcionará pq não tem o método main (óbvio…)

É que to aprendendo isso na faculdade e não entendo porquê a gente aprende coisas que não funcionam de fato… mas preciso aprender do jeito que eles pedem pq senão vou bombar na matéria… :x
Valeu!

14 Respostas

D

sim…

basta salvar para o eclipse compilar…

para testar o codigo como voce disse utilize o IDE BlueJ.

Denis

C

Valeu cara…
Mas não tem como fazer isso no Eclipse mesmo?

C

“Candahar”:
Olá.

Tenho 2 dúvidas a respeito do Eclipse…

  1. Como eu faço pra compilar no Eclipse?! Só salvando ele já compila? Digo, compilar pra criar um bytecode, o arquivo.class (função semelhante do javac do DOS.)

class Exemplo { double calculaAreaDeQuadrado (double lado) { return lado * lado; } }
Eu sei que é um código ridículo, mas não existe um modo para que eu possa pelo menos testar valores do “lado” sem eu necessariamente dar o runsei lá, atribuir um valor para lado e verificar a resposta (no caso, o return)… o run não funcionará pq não tem o método main (óbvio…)

É que to aprendendo isso na faculdade e não entendo porquê a gente aprende coisas que não funcionam de fato… mas preciso aprender do jeito que eles pedem pq senão vou bombar na matéria… :x
Valeu!

  1. Para compilar, vá em Run as Application.
  2. Para testar simplesmente crie o método main para rodar a sua função. É o melhor jeito e funciona no Eclipse assim como em outras IDE.

Abraço

D

num da nao

M

Deixem eu expressar a minha idéia…

Se vc tá aprendendo a montar clases sem o tal do main()/run()/init() é pq eles querem que vc utilize os métodos desta classe através de outras classes, para isso vc teria que fazer por exemplo: (public)

public class Exemplo {

public double calculaAreaDeQuadrado (double lado)

{

return lado * lado;

}

}

onde vc poderia chamar o método por outra classe, por exemplo:

import Exemplo.*;

class TestarExemploClass{

public static void main(String args[]){

System.out.print("" + Exemplo.calculaAreaDeQuadrado(500));

}

}

imprimindo assim o resultado na tela…

Espero ter ajudo e compreendido seu problema.
Abraço,
Maicon

C

Valeu cara…
Mas como eu posso criar um método main pra esse código? Devo usar o “public static void main (String [] args)”? E como ficaria o código?
O problema é que eu preciso inserir o valor do lado, mas sem importar o pacote javax.swing (o JOptionPane, por exemplo)? Como eu faço?
Valeu de novo!

M

Classe Exemplo.java:

public class Exemplo {

public double calculaAreaDeQuadrado (double lado)

{

return lado * lado;

}

}

Essa classe teria um método chamado calculaAreaDeQuadrado que esperaria um valor double e retornaria outro valor double.
OK ?
vc tem que por public na frente de class para que outras classes possam enchergar ela.
OK ?
assim como tens que por um public na frente do método para que outras classes tb possam acessar o tal método.
OK ?

Classe TestarExemploClass:

import Exemplo.*; //Importa Classe Exemplo.class que vc criou para poder utilizar o tal método calculaAreaDeQuadrado. OK?

class TestarExemploClass{

public static void main(String args[]){     //necessário para rodar/iniciar o programa. OK ?

double valRetorno;   //Cria variável double para receber o retorno que o método calculaAreaDeQuadrado vai lhe retornar. OK ?

valRetorno = Exemplo.calculaAreaDeQuadrado(500);  //chama método calculaAreaDeQuadrado da classe Exemplo passando como parâmetro o valor 500 e passando para a variável valRetorno o valor 500*500 que o método irá fazer, no caso 250000. OK ?

System.out.print("" + valRetorno );    //Imprime valorRetorno

}

}

Entaum, quando vc precisar fazer um calculaAreaDeQuadrado em qualquer programa que vc desejar criar, vc naum precisará mais criar a função de valor * valor, mas sim é só preciso chamar o tal método público criado no Exemplo.class. OK ?

Espero ter sido claro…

Abraço,
Maicon

C

Para maicon_b

Valeu cara... era isso mesmo que eu tava perguntando...
Só mais uma dúvida...
Eu criei uma nova classe chamada Exemplo:

public class Exemplo { 
public double calculaAreaDeQuadrado (double lado) 
{ 
 return lado * lado; 
} 
}
Daí vc sugeriu fazer:
import Exemplo.*; 

class TestarExemploClass{ 
public static void main(String args[]){ 
System.out.print("" + Exemplo.calculaAreaDeQuadrado(500)); 
} 
}

Esse último código desse ser uma nova classe? Devo criar uma nova classe no mesmo projeto e daí eu digito o código acima? Eu não entendi isso direito...
Então fiz duas classes, uma com o class Exemplo e outra com o class TestarExemploClass... mas o TestarExemploClass dá erro de sintaxe, fala que não reconhece o calculaAreaDeQuadrado.
O que eu fiz de errado?
Valeu mesmo!!!

M

Esse primeiro código eu fiz no braço, na hora de criar o post e nem cheguei a testar…

Mas no mesmo projeto onde você criou o Exemplo.java vc cria um TestarExemploClass e põe o seguinte código:

public class TestarExemploClass{

public static void main(String args[]){

Exemplo ex = new Exemplo();    //Instancia a classe Exemplo.class

System.out.print("" + ex.calculaAreaDeQuadrado(500));  //executa o método da vriável instanciada.

}

}

Espero que resolva, caso não tenha dado certo me avise. OK ?

Abraço,
Maicon

C

Para Maicon_b

Valeu cara… eu criei duas classes… uma com o código que calcula a área e outra que testa um valor…
Mas dá erro de sintaxe na classe do teste…
Diz : The import Exemplo is never used
E: The method calculaAreaDoQuadrado (double) from the type Exemplo is not static.
O que fiz de errado? Valeu!

C

Agora funcionou…
Valeu mesmo cara…
:smiley:

M

põe no início o seguinte:

import Exemplo.*;

para ele importar a classe exemplo para dentro da classe TestaExemploClass.

Se caso não der certo vou ter que te explicar algumas coisas sobre o modificador static.

Blz ?
Abraço,
Maicon

C

public class TestarExemploClass{ public static void main(String args[]){ Exemplo ex = new Exemplo(); System.out.print("" + ex.calculaAreaDeQuadrado(500)); } }

Esse código funcionou… :stuck_out_tongue:
Valeu!

PS.: Se eu colocar o import Exemplo.*; no início da classe do teste, ele dá erro de sintaxe… diz que não reconhece… mas tudo bem, já tá funcionando…

M

Blz.

Por estar na mesma pasta default do projeto não é necessário fazer o import, só se ele estivesse em alguma pasta apartir da raiz do projeto, no caso num package.

Valeu,
Maicon

Criado 18 de maio de 2004
Ultima resposta 19 de mai. de 2004
Respostas 14
Participantes 4