本帖最后由 曹晓涵 于 2012-3-4 02:57 编辑
/*类(Classes) 命名规则:chen改为Chen,不改也不影响运行结果
1)类名必须由大写字母开头,一个单词中的其他字母均为小写字母
2)若多单词组成。则建议每个单词的首字母均大写,如TestDemo
3)若类名中包含单词缩写,则建议将这个词的每个字母均为大写,如XMLDemotional
4)类名尽量用名词
*/
class Chen {
public static void main(String[]args){
int i;
/* 错误1:float s=0.0,y; 改为 float s=0.0f,y;
此处定义s为float型的变量,0.0小数系统默认为double型的变量,
直接将double赋值给float会丢失精度,小数后需加上f表示float型。
*/
float s=0.0f,y; //若变量名s改为sum显得更有意义
/*错误2:for(i=1;1<=99;i++)改为for(i=1;i<=99;i++)
此处1<=99为死循环,将1<=99改为i<=99
*/
for(i=1;i<=99;i++){
if(i%2==0)
/*错误3:y=1.0/i*(-1)改为y=(float)(1.0/i*(-1))
在前面定义变量时时将y同样定义为float类型,而后面的公式
有小数1.0参与运算,运算结果自动提升为double类型,因此
需要整个公式用括号括起来并强制类型转换为float类型后再
赋值给y
*/
y=(float)(1.0/i*(-1));
else
/*错误4: y=1.0/i改为 y=(float)(1.0/i)
错误原因同错误3
*/
y=(float)(1.0/i);//
s+=y;
}
/*说明:觉得本题中的for 循环也可以写成下面形式显得更为简洁
for(i=1;i<=99;i++){
y=(float)(1.0/i);
if(i%2==0)
s-=y;
else
s+=y;
}
*/
System.out.println(s);
}
} |