Divisao de tipos inteiros - resultado inteiro com valor truncado (Ex.: 9 / 5 = 1 - e nao 2 !!!)
 
        Divisao de tipos "fracionados" (float e double), resultado fracionado - 9.0 / 5.0 = 1.8
 
        Os mensagens fillOval( ) e drawOval( ) recebem como parametros um inteiro, ja' que lidam com pixeis na tela - e nao existe 1/2 pixel.
 
        Bom, ja' que teu programa exige o uso de double, o ideal e' voce converter os tipos, para que fiquem compativeis. Uma das maneiras de fazer isso seria:
 
    /**
     * Converte um tipo double para um tipo int
     * @param x tipo double a ser convertido
     * @return tipo int apos conversao
     */
    private int d2i(double x)
    {
        return (new java.lang.Double(x).intValue( ));
    }
 
    Definida esta funcao, chame-a onde for necessario transformar um tipo double para um tipo int :
 
    screen.fillOval(d2i(E - 5), d2i(A - 18), d2i(B), d2i(B));
 
    Nil
-----Mensagem original-----
De: Polato <[EMAIL PROTECTED]>
Para: Lista de Discussão JAVA <[EMAIL PROTECTED]>
Data: Quarta-feira, 2 de Fevereiro de 2000 12:23
Assunto: Variavel

Agradeço a todos que me ajudaram, mas agora tem outro poblema.
quando fui compilar, deu erro no método paint().
Ali eu to desenhando um polígono e uma circulo, e os errros são:
 
H:\GuiaVotuporanga\mapa\Mapa.java:98: Incompatible type for array. Explicit cast needed to convert double to int.
  int x[] = {E - 3, E-6, E + 5, E - 3};
            ^
H:\GuiaVotuporanga\mapa\Mapa.java:99: Incompatible type for array. Explicit cast needed to convert double to int.
  int y[] = {A - 15, A, A - 15, A - 15};
            ^
H:\GuiaVotuporanga\mapa\Mapa.java:108: Incompatible type for method. Explicit cast needed to convert double to int.
  screen.fillOval(E - 5, A - 18, B, B);
                    ^
H:\GuiaVotuporanga\mapa\Mapa.java:108: Incompatible type for method. Explicit cast needed to convert double to int.
  screen.fillOval(E - 5, A - 18, B, B);
                           ^
H:\GuiaVotuporanga\mapa\Mapa.java:110: Incompatible type for method. Explicit cast needed to convert double to int.
  screen.drawOval(E - 5, A - 18, B, B);
                    ^
H:\GuiaVotuporanga\mapa\Mapa.java:110: Incompatible type for method. Explicit cast needed to convert double to int.
  screen.drawOval(E - 5, A - 18, B, B);
                           ^
 
O problema é que eu tenho que acrescentar números fracionados para desenhar esse polígono no lugar certo com precisão.

Responder a