這段代碼最后哪里錯了
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整除的數之和為:" + 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整除的數之和為:" + sum); 最后變量輸出 ? ?sum ?為什么不行
2017-02-24
舉報
2017-02-24
sum為局部變量,只能在循環體內有效。
最后輸出用的sum變量為全局變量,sum前面未定義,無法使用。
2017-02-24
("1到100之間不能被3整除的數之和為:" + sum) ?這里 ?1到100之間不能被3整除的數之和為 是可是直接在運行結果了顯示的。但是要顯示sum的內容 ?必須要加 +?
2017-02-24
這里的+ 是連接符 ?沒有實際意義! ?
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整除的數之和為:" + 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整除的數之和為:" + sum);?
應該這樣,一個是注意變量作用于問題。另外一個注意當i=3的時候,i%3會等于0,這個時候for循環判斷條件將不滿足同時就不會執行循環體,將會直接數據1和2的和,我覺得將是否能被3整除移植到for循環體里面判斷比較好
2017-02-24
這可能與變量的作用范圍有關,
我知道有個全局變量;和局部變量;
2017-02-24
首先當i=3時,循環的判斷條件錯誤,導致循環無法繼續下去,所以判斷條件建議改為if判斷句。第二就是你的sum是局部變量,除非你聲明時把它設為全局變量