這段代碼最后哪里錯(cuò)了
public static void main(String[] args) { for(int i=1,sum=0;(i<=100) && (i%3!=0);i++){ sum=sum+i; } System.out.println("1到100之間不能被3整除的數(shù)之和為:" + sum); 最后變量輸出 ? ?sum ?為什么不行
public static void main(String[] args) { for(int i=1,sum=0;(i<=100) && (i%3!=0);i++){ sum=sum+i; } System.out.println("1到100之間不能被3整除的數(shù)之和為:" + sum); 最后變量輸出 ? ?sum ?為什么不行
2017-02-24
舉報(bào)
2017-02-24
sum為局部變量,只能在循環(huán)體內(nèi)有效。
最后輸出用的sum變量為全局變量,sum前面未定義,無法使用。
2017-02-24
("1到100之間不能被3整除的數(shù)之和為:" + sum) ?這里 ?1到100之間不能被3整除的數(shù)之和為 是可是直接在運(yùn)行結(jié)果了顯示的。但是要顯示sum的內(nèi)容 ?必須要加 +?
2017-02-24
這里的+ 是連接符 ?沒有實(shí)際意義! ?
2017-02-24
666666
2017-02-24
package hello;
public class text09 {
public static void main(String[] args){
int sum=0;
for(int i=1;(i<=100);i++){
if(i%3!=0){
sum=sum+i;
}
}?
System.out.println("1到100之間不能被3整除的數(shù)之和為:" + sum);?
}
}
2017-02-24
public static void main(String[] args)?
{ ??
int sum=0;
for(int i=1;i<=100;i++)
? ? ? {
if(i%3!=0)
sum=sum+i;
? ? ? }
? ?System.out.println("1到100之間不能被3整除的數(shù)之和為:" + sum);?
應(yīng)該這樣,一個(gè)是注意變量作用于問題。另外一個(gè)注意當(dāng)i=3的時(shí)候,i%3會(huì)等于0,這個(gè)時(shí)候for循環(huán)判斷條件將不滿足同時(shí)就不會(huì)執(zhí)行循環(huán)體,將會(huì)直接數(shù)據(jù)1和2的和,我覺得將是否能被3整除移植到for循環(huán)體里面判斷比較好
2017-02-24
這可能與變量的作用范圍有關(guān),
我知道有個(gè)全局變量;和局部變量;
2017-02-24
首先當(dāng)i=3時(shí),循環(huán)的判斷條件錯(cuò)誤,導(dǎo)致循環(huán)無法繼續(xù)下去,所以判斷條件建議改為if判斷句。第二就是你的sum是局部變量,除非你聲明時(shí)把它設(shè)為全局變量