Problemas ao Compilar

8 respostas
B

Olá pessoal do Fórum!! :D

Estou começando à estudar Java pela apostila da Universidade de São Francisco. Porém não estou conseguindo compilar um exemplo de Instanciação.

O caso é seguinte:

É dado o seguinte exemplo:
// Exemplo 07 pág.40: DuasBolas.java

public class DuasBolas {
   public static void main (String args[]) {

      // instanciando um objeto
      Bola bola_01 = new Bola();
      // armazenando valores em alguns dos atributos deste novo objeto
      bola_01.raio = 0.34;
      bola_01.oca = false;
      bola_01.cor = 10;

      //instanciando outro objeto
      Bola bola_02 = new Bola();
      // armazenando valores em alguns dos atributos deste novo objeto
      bola_02.oca = true;
      bola_02.cor = 1324;
   
      // usando valore armazenados
      bola_02.raio = 5 * bola_01.raio;
      bola_02.cor = bola_01.cor;
   
      System.out.println("Bola 01:");
      System.out.println("  - raio = " + bola_01.raio);
      System.out.println("  - oca = " + bola_01.oca);
      System.out.println("  - cor = " + bola_01.cor);
      System.out.println("Bola 02:");
      System.out.println("  - raio = " + bola_02.raio);
      System.out.println("  - oca = " + bola_02.oca);
      System.out.println("  - cor = " + bola_02.cor);
   }
}
porém ao compilá-lo aparece os seguintes erros:
DuasBolas.java:7: cannot resolve symbol
symbol : class Bola
location: class DuasBolas
       Bola bola_01 = new Bola();

DuasBolas.java:14: cannot resolve symbol
symbol : class Bola
location: class DuasBolas
       Bola bola_02 = new Bola();

Acredito ser necessário fazer referencia na programação... mas como faço isso!?

OBS: já tenho um arquivo chamado Bola.java contedo o código abaixo:
// Bola.java

public class Bola {

   // atributos
   float raio;
   boolean oca;
   int cor;
}

Se puderem me ajudar ficarei muito grato!!

Obrigado.

8 Respostas

J

Oi

A classe DuasBolas está instanciando objetos da classe Bola, isso faz com que seja necessário que antes de se compilar a classe DuasBolas compile-se a classe Bola…

T+

F

eu acho mais fail compilar tudo junto, eh soh dar o comando:
javac *.java

B

jeveaux,
Mesmo compilando antes o arq. Bola.java continua à dar o mesmo erro… o q pode ser!?

Porém quando compilo tudo junto pelo comando javac *.java, conforme o Felipe informou, dá outro erro:

DuasBolas.java:9: possible loss of precision found : double required: float bola_01.raio = 0.34;

Pq erros diferentes?

Desde já obrigado jeveaux e Felipe!!

Obrigado! :smiley:

J

Oi

Os dois arquivos estão no mesmo diretório??? Quando vc compilar a classe Bola será criado um arquivo Bola.class e a classe DuasBolas deve ser compilada no mesmo diretório onde o arquivo Bola.class estiver… Se isso não estiver ocorrendo será a resposta para o primeiro erro.

Quanto a vc usar o javac *.java e dar outro erro… Aconteceu que o Java lhe informou que pode haver uma perda da precisão usando o tipo de dados que vc escolheu, mas lhe sugere um tipo apropriado para acabar com tal perda de precisão.

T+

B

Ei jeveaux,

os dois arquivos estão no mesmo diretório… realmente estranho não é?

Valeu!

T

Respondendo ao primeiro erro:
você não conseguiu compilar as duas classes no mesmo arquivo porque Java só aceita uma classe [color=“blue”]public[/color] por arquivo, caso sua classe Bola não fosse tipada como [color=“blue”]public [/color]funcionaria (mas o segundo erro ainda iria ocorrer, pois na classe Bola raio está como float e na hora de compilar o programa pede o tipo double)

**Espero ter sido de alguma ajuda… :wink:

J

Oi

Borges, não sei se vc está com as duas classes no mesmo arquivo, mas se tiver o que o thai disse está correto… Experimente deixar a classe Bola sem modificador de classe ou então crie outro arquivo para a classe (neste caso publica) Bola…

T+

B

Ok Ok pessoal!!! :smiley:

Muito Obrigado pelas dicas… agora sim! tudo OK! :smiley:

Valeu!

Borges.

Criado 26 de julho de 2003
Ultima resposta 29 de jul. de 2003
Respostas 8
Participantes 4