我是Java新手。我寫了下面的代碼:我的Java程序中「可能會損失精度」
import java.io.*;
import java.lang.*;
public class distravel
{
public static void main(String args[])
{
String a1,a2,a3;
int x=2;
float d,u,a,t;
//d=distance travelled,u=initial velocity,a=acceleration,t=timeinterval
try
{
InputStreamReader read=new InputStreamReader(System.in);
BufferedReader buff=new BufferedReader(read);
System.out.print("Enter the INTIAL VELOCITY:");
a1=buff.readLine();
u=Float.parseFloat(a1);
System.out.print("Enter the ACCELERATION:");
a2=buff.readLine();
a=Float.parseFloat(a2);
System.out.print("Enter the TIME:");
a3=buff.readLine();
t=Float.parseFloat(a3);
d=((u*t)+a*Math.pow(t,x))/2F;
System.out.print("The total DISTANCE TRAVELLED:"+d);
}
catch(Exception e)
{}
}
}
我得到這個錯誤:
distravel.java28:possible loss of precision found :double required :float d=((u*t)+a*Math.pow(t,x))/2F; ^
我怎樣才能解決這個問題?
你能否正確地格式化你的問題? – Shankar 2011-04-09 06:11:35
其中不包括SHOUTING。 – subsub 2011-04-09 06:13:30