为了账号安全,请及时绑定邮箱和手机立即绑定

哪里出问题了?

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


正在回答

2 回答

当执行第二次循环也就是i等于2时,循环体里的i=1/2 的结果是i=0,然后再执行下一句sum += 1/i;时因为i为0即(sum+=1/0),因0不能被作为被除数,所以出错吧。

0 回复 有任何疑惑可以回复我~
#1

慕粉0845599341 提问者

那怎么用JAVA写1+1/2+1/3+1/4+......+1/20
2016-11-02 回复 有任何疑惑可以回复我~
#2

千越3930113 回复 慕粉0845599341 提问者

double sum = 0; for(int i = 1; i <= 20; i++) { sum += 1.0/i; } 注意sum的类型以及把1改为1.0或者直接把i的类型也定义为double
2016-11-02 回复 有任何疑惑可以回复我~

public class HelloWorld1 {

    public static void main(String[] args){

        int sum = 0;

        for(int i = 1; i <= 20; i++){

            i=1/i;

            sum += 1/i ;   

    }

System.out.println(sum);

}


0 回复 有任何疑惑可以回复我~
#1

qq_死神地制裁_03192910

对,0不能作分母
2016-11-02 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
Java入门第一季(IDEA工具)升级版
  • 参与学习       1165161    人
  • 解答问题       17581    个

0基础萌新入门第一课,从Java环境搭建、工具使用、基础语法开始

进入课程

哪里出问题了?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信