程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程綜合問答 >> 循環 變量定義-java初學問題,很簡單的

循環 變量定義-java初學問題,很簡單的

編輯:編程綜合問答
java初學問題,很簡單的

import java.util.Scanner;
public class Za {
private static final double sum = 0;

public static void main(String[] args) {
int score[]=new int[5];

int sum=0;

for (int i = 0; i < score.length; i++) {

System.out.println("請輸入成績:");

Scanner input = new Scanner(System.in);
score[i] = input.nextInt();
sum=sum+score[i];
}

System.out.println("平均分為:"+sum/5.0);
}

}
為什麼上面那個int sum=0放在for(;;)裡面就會出錯,有什麼不同嗎?for(int i ,sum=0;~;~)
更多 0

最佳回答:


是變量的作用域的問題,在for循環的開始條件裡聲明的變量只能在for循環裡用的,也即是說你的代碼相當於:
for( ;condition ; i++)
{
int i,sum=0;
}
system.out.peintln("...."+sum/len);
一個是sum的作用域的問題,就是出了循環就不能再用sum了,因為一出作用域就被java的垃圾回收器給回收了,之後就找不到sum了,就會報錯,
第二,你的i如果是第二種寫法是沒有初始化的,但的確,i默認為0,應該編譯器應該是不會提示你這個問題的說。
你的最後一句可如此處理
for(....)
{
......;
if(i==score.length-1)
system.out.println("平均分為:"+sum/5.0);
}
就可以了

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved