哪里出问题了?

来源:4-11 Java循环跳转语句之 break

慕粉0845599341

2016-11-02 13:08

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回答

  • 千越3930113
    2016-11-02 13:32:57
    已采纳

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

    千越3930... 回复慕粉0845...

    double sum = 0; for(int i = 1; i <= 20; i++) { sum += 1.0/i; } 注意sum的类型以及把1改为1.0或者直接把i的类型也定义为double

    2016-11-02 14:45:21

    共 2 条回复 >

  • qq_死神地制裁_03192910
    2016-11-02 13:34:21

    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);

    }


    qq_死神地...

    对,0不能作分母

    2016-11-02 13:35:38

    共 1 条回复 >

Java入门第一季(IDEA工具)升级版

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

1165172 学习 · 17581 问题

查看课程

相似问题