Exception in thread "main" java.lang.ArithmeticException: / by zero 小结 2020.01.29

本文探讨了Java中遇到的'Exception in thread "main" java.lang.ArithmeticException: / by zero'错误,详细分析了一个看似不会出现除零错误的代码导致该异常的原因,并通过代码调试揭示了问题的真相,即在循环中由于数值变化导致了除以零的情况。
摘要由CSDN通过智能技术生成

这篇文章的名字或许也可以叫做----- 数据中明明没有0 却报错 Exception in thread “main” java.lang.ArithmeticException: / by zero
今天遇到一个问题,Java报错 / by zero,查了老半天,都是一些什么,除数为0,模0之类的(/0,%0),并没有解决我的问题。也与很多群友进行了讨论,讨论内容涉及报错的解决,背后的原理,甚至/ by zero的意思是什么等等。最终一位老哥发现了原因所在。
先附上原来的代码

import java.io.*;
import java.util.*;
public class Main{
    public static void main(String[] args) {
        Scanner scan=new Scanner(System.in);//输入一个整数k
        try{
            int k ;
            int b = 1 ;
            double sum = 1 ;
            k=scan.nextInt();

            while(sum<=k){//判断序列和是否超过了k
            b=b+1;
           1 //sum = sum + 1/b;
            2sum = sum + 1.0/b;
            }
            System.out.println(b);
      }finally{
          scan.close();
    }

    }
}

问题的关键代码在上面标出了1,2。1是最初我写的代码,如果这样写的话,就会报错“/ by

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值