我写的程序如下:
public class szhi{
public static void main(String args[])
{ double s=2,sum=0;
int n=1;
for(n=1;n<=100;n++)
{
if(n%2==0)
{s=-1/n;}
else
{s=1/n;}
sum=sum+s;
}
System.out.println(sum);}
}输出的结果是 1.0
当我把程序改成如下时结果正确:
public class szhi{
public static void main(String args[])
{ double s=2,sum=0;
int n=1;
for(n=1;n<=100;n++)
{
if(n%2==0)
{s=(double)-1/n;}
else
{s=(double)1/n;}
sum=sum+s;
}
System.out.println(sum);}
}
难到一定要进行强制转换吗?
不是说 int能自动向double转换吗?为什么要人为强制转换呢?
谢谢 说明~
public class szhi{
public static void main(String args[])
{ double s=2,sum=0;
int n=1;
for(n=1;n<=100;n++)
{
if(n%2==0)
{s=-1/n;}
else
{s=1/n;}
sum=sum+s;
}
System.out.println(sum);}
}输出的结果是 1.0
当我把程序改成如下时结果正确:
public class szhi{
public static void main(String args[])
{ double s=2,sum=0;
int n=1;
for(n=1;n<=100;n++)
{
if(n%2==0)
{s=(double)-1/n;}
else
{s=(double)1/n;}
sum=sum+s;
}
System.out.println(sum);}
}
难到一定要进行强制转换吗?
不是说 int能自动向double转换吗?为什么要人为强制转换呢?
谢谢 说明~
public class szhi{
public static void main(String args[])
{ double s=0,sum=0;
int n=1;
for(n=1;n<=100;n++)
{ if(n%2==0)
{s=-1.0/n;}
else
{s=1.0/n;}
sum=sum+s;
}
System.out.println(sum);}
}
那 程序中的1.0 和上面程序中的double的作用是一样的吗?
他们有什么区别?