由一个简单地编程题想到的

题目是这样的:

编程输出1/1+1/3+1/5+.......+1/99

当时在考场是这么写的:

public class Add {
public static void main(String[]args){
int sum=0;
for(int  i=1;i<100;i++){
sum=sum+1/i;
++i;
}
System.out.println(sum);
}
}

自以为程序太简单了,还放到eclipse里运行了一下,输出结果是1,这个结果不对,当时感觉自己写的程序也没错,就以为是eclipse除了问题,现在想想真是可笑

回到宿舍想了想,程序是哪里不对,重新检查了一遍,发现sum应该是double类型的,而且sum+1/i也应该是double类型的,所以应该是sum=(double)(sum+1/i)发现运行出来还是1.0,直接在for循环里把i的类型改成double就好了,所以正确的程序因该是:

public class Add {
public static void main(String[]args){
double  sum=0;
for(double  i=1;i<100;i++){
sum=sum+1/i;
++i;
}
System.out.println(sum);
}
}

由此想到自身存在的诸多问题,太相信自己了,写代码出错很正常,就怕自己太自负,太相信自己,不去代码里找错误,而怀疑编译器出了问题,本来很简单的错误就也找不出来了,自己还是对代码不熟悉,发现问题并解决问题的能力太差,对别人的依赖性太强。把简单事情做好未尝不是伟大的事,再雄伟的建筑也是由一块块不起眼的砖垒起来的,再伟大的事情也是由一件件不起眼的小事做成的,每一个项目也是由一条条代码组成的,哪一条代码即使出了丁点的错误可能整个项目都不能运行,自己还是太忽视细节性的东西,细节决定成败,以后要注意细节的东西,小事做好了才有资格去做大事

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值