错误信息如下:
Exception in thread "main" java.lang.ArithmeticException: / by zero
at ForText06.main(ForText06.java:46)
原因如下:
当我们定义的被除数为整形时候(short int long)会抛出此异常,被除数为整形时不可以为零。
错误代码如下:
- int i 跟 int j 不能被定义为0,原因是当if执行的时候会抛出异常,因为是0,没办法被整除。
for(int i = 0; i <= 100; i++) {
boolean isSuShu = true;
for(int j = 0; j< i; j++) {
if(i % j == 0){
// 非素数
isSuShu = false;
// 已经知道i是非素数,跳出循环
break;
}
}
if(isSuShu) {
System.out.println(isSuShu ? i + "是素数" : i + "不是素数");
}
}
正确代码如下:
public class Text01 {
public static void main(String[] args) {
boolean isSuShu = true;
for(int j = 0; j< i; j++) {
if(i % j == 0){
// 非素数
isSuShu = false;
// 已经知道i是非素数,跳出循环
break;
}
}
if(isSuShu) {
System.out.println(isSuShu ? i + "是素数" : i + "不是素数");
}
}
}
}