Problemas ao Compilar

Olá pessoal do Fórum!! :smiley:

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:

[code]// 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);

}
}[/code]

porém ao compilá-lo aparece os seguintes erros:

[code]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();[/code]

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:

[code]// Bola.java

public class Bola {

// atributos
float raio;
boolean oca;
int cor;
}[/code]

Se puderem me ajudar ficarei muito grato!!

Obrigado.

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+

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

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:

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+

Ei jeveaux,

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

Valeu!

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:

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+

Ok Ok pessoal!!! :smiley:

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

Valeu!

Borges.