这篇文章的名字或许也可以叫做----- 数据中明明没有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