Ayuda con errores q antes no sucedian

Alberto
09 de Noviembre del 2004
En este codigo hay una series de errores, los cuales en aplicaciones anteriores utilisando casi el mismo codigo no salian errores; por favor si alguien me pudiera ayudar.

import java.io.*;
import java.lang.Math.*;

public class Sumatoria
{
public static void main (String[] args) throws IOException

{

float x, i;
int j, k[];
k = new int[100];

BufferedReader input = new BufferedReader(new InputStreamReader (System.in));

System.out.print("Introduce el valor de la base x =");
x = Double.parseDouble(input.readLine());
System.out.print("Introduce el valor de i =");
j = Double.parseDouble(input.readLine());

for (i=1;i<=j;i++)
{

k[i]=Math.pow(x,i);
}

for (i=1;i<=j;i++)
{
k[i]=k[i]+k[i+1];
}

System.out.print("La Sumatoria x^i = " + k[i]);

}

}


/*--------------------Configuration: Sumatoria - j2sdk1.4.2_02 <Default> - <Default>--------------------
D:3e70IV CicloJavaProgramasawtSumatoriasrcSumatoria.java:17: possible loss of precision
found : double
required: float
x = Double.parseDouble(input.readLine());
^
D:3e70IV CicloJavaProgramasawtSumatoriasrcSumatoria.java:19: possible loss of precision
found : double
required: int
j = Double.parseDouble(input.readLine());
^
D:3e70IV CicloJavaProgramasawtSumatoriasrcSumatoria.java:24: possible loss of precision
found : float
required: int
k[i]=Math.pow(x,i);
^
D:3e70IV CicloJavaProgramasawtSumatoriasrcSumatoria.java:24: possible loss of precision
found : double
required: int
k[i]=Math.pow(x,i);
^
D:3e70IV CicloJavaProgramasawtSumatoriasrcSumatoria.java:29: possible loss of precision
found : float
required: int
k[i]=k[i]+k[i+1];
^
D:3e70IV CicloJavaProgramasawtSumatoriasrcSumatoria.java:29: possible loss of precision
found : float
required: int
k[i]=k[i]+k[i+1];
^
D:3e70IV CicloJavaProgramasawtSumatoriasrcSumatoria.java:29: possible loss of precision
found : float
required: int
k[i]=k[i]+k[i+1];
^
D:3e70IV CicloJavaProgramasawtSumatoriasrcSumatoria.java:32: possible loss of precision
found : float
required: int
System.out.print("La Sumatoria x^i = " + k[i]);
^
8 errors

Process completed.
*/


Gracias de antemano

asdf
09 de Noviembre del 2004
Efectivamente, se produce una pérdida de precisión.

x es un int y le estas asignado un double y
j es un float y le estas asignad otro double

cambia el tipo de estas varialbes a double o cambia

x = Double.parseDouble(input.readLine());
j = Double.parseDouble(input.readLine());

por

x = Double.parseInt(input.readLine());
j = Double.parseFloat(input.readLine());

o realiza un casting.

El resto de errores son consecuencia de esto.


Saludos