Instanciar

Olá pessoal do Fórum! :smiley:

Estou com dificuldade na instanciação de um objeto. O que ocorre é seguinte:

tenho o arquivo Bola.java contendo o seguinte código:

[code]// Bola.java

public class Bola {

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

Agora preciso dos atributos da classe Bola funcionando no arquivo DuasBolas.java, conforme segue o código abaixo:

[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]

Consigo compilar sem problemas o arquivo Bola.java, porém quando tento compilar o arquivo DuasBolas.java aparece o seguinte erro:

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

1 error[/quote]

Não sei porque ocorre o erro já que o atributo raio (em Bola.java) é do tipo float. O que será que ocorre!?

Desde já obrigado pessoal!

Existem duas soluções para esse problema:

A primeira é você instanciar desse modo:

E a segunda é tipar raio como double na sua classe Bola

Qualquer uma das duas soluções acima resolve seu problema…

**Espero ter ajudado… :wink:

ei thai,

Beleza cara! resolvido. Muito Obrigado! :smiley:

Borges.