為什么只是將for循環(huán)的截止條件從負(fù)數(shù)改到正數(shù)就不出現(xiàn)異常??
package com.imooc;
public class Project?
{
public static void main(String[] args)?
{
// TODO Auto-generated method stub
Project pro=new Project();
int m=pro.text();
System.out.println("result2="+m);
}
public int text()
{
int num=100;
try
{
? ? ? ? ? ? for(int i=10;i>-1;i--)
? ? ? ? ? ? {
? ? ? ? ? ? num=num+100/i;
? ? ? ? ? ? }
return num;
}
catch(Exception e)
{
e.printStackTrace();
System.out.println("循環(huán)拋出異常?。?!");
System.out.println("result1:");
return -1;
}
}
}
問一下問什么我的for語句中i為什么只有設(shè)為-1時(shí)才會(huì)出項(xiàng)異常,設(shè)為1、2或者3都沒有異常。
不應(yīng)該應(yīng)該在100除以3或者7的時(shí)候有小數(shù)的話就會(huì)有異常嗎??
2015-02-02
i> -1,當(dāng)i = 0時(shí),拋出異常,而且不會(huì)出現(xiàn)有小數(shù)的情況,100/i ?/ 操作符兩邊都是整型的話,值也是整型。
2015-02-02
我?guī)湍銣y了下,好像正常吧,沒有出現(xiàn)異常啊
2015-02-02
sorry,-1--是-2 ^_^
2015-02-02
如果你的條件成立的話,-1--時(shí)得到0,然后100/0,0是不能做除數(shù)的,所以報(bào)錯(cuò)吧