2014-10-09 84 views
-3

如何在Java中打印數組的索引? 我真的堅持了這一點,我覺得它應該是這樣的if語句像在Java中打印數組的索引

if (i == 5050) { 
    System.out.println("Index is: " +i); 
} 

我會很感激,即使這只是開始尋找答案的好地方任何幫助。 感謝

public class summation { 

    public static void main(String[] args) { 
     long[] a = new long[101]; 
     long sum; 
     int i, numbers; 
     numbers = 100; 
     // initialise the array a using the loop counter 
     for (i = 1; i <= numbers; i++) { 
      a[i] = (long) i; 

     } 

     sum = 0; 
     for (i = 1; i <= numbers; i++) { 
      // do summation 
      sum = sum + a[i]; 
     } 
     System.out.println("sum of numbers between 1 and " + numbers + " is " + sum); 
    } 
} 
+0

你想在哪裏打印索引,以及索引?你的問題很不清楚。 – Taylor 2014-10-09 14:19:55

+0

Java數組索引從0開始。另外,1到100之間的數字如何等於5050? – 2014-10-09 14:20:38

+0

我想打印數字5050的索引,遺憾的是缺乏清晰度。 @ElliotFrisch我將1-100的總和加起來就是5050. – 2014-10-09 14:21:41

回答

0

a陣列不能包含數字5050,因爲你將其設置爲只1..100。願你的意思是你要打印的索引時合併總和達到50,在這種情況下,它會是

for (i = 1; i <= numbers; i++) { 
     // do summation 
     sum = sum + a[i]; 
     if (sum == 5050) { print code goes here } 
    } 

而且注意,在有此兩個獨立的迴路是沒有意義的。爲什麼不把它們合併成一個單一的循環:

for (i = 1; i <= numbers; i++) { 
    a[i] = i; 
    sum += i; 
    if (sum == 5050) { blah blah blah } 
} 
+0

好了數組實際存儲了5050嗎? – 2014-10-09 14:34:34

+0

不,你永遠不會儲存任何東西,除了'i'的值,你已經限制在'1,2,3,...,100'。 'sum'變量在某個點上包含5050,但只有一個特定的循環迭代,因爲它是一個簡單的數字,你不斷地加入到 – 2014-10-09 14:36:09

+0

好的,謝謝,所以短語「數組中元素的位置包含最大「實際上是要求100.對不起,這麼慢:) – 2014-10-09 14:37:41