2011-11-17 115 views
1

編寫一段檢查整數數組的代碼並將數組中的最大值報告給System.out。考慮將您的代碼放入一個名爲max的方法,該方法接受數組作爲參數並返回最大值。假定數組至少包含一個元素。你的方法不應該修改數組的元素。打印陣列的最大值 - Java

這是我有:

public int max(int []a) 
{ 
int maxVal=0; 
for(int i=0;i<a.length;i++) 
    { 
     if(a[i]>maxVal) 
      { 
       maxVal=a[i]; 
      } 
     } 
     return maxVal; 
    } 

問題是,它不爲max({-4, -5, -3, -6})值工作。

我該如何解決這個問題以及所有其他問題?

+0

您的設置問題是你初始化MAXVAL = 0,所以這些值都較大,因此報告不正確的答案。你應該初始化maxVal = a [0]。見Vivi-T的回答。 –

+0

我們不是來回答作業問題,而是問這樣的社區,這對你的學習沒有幫助。 –

回答

3
public int max(int []a) 
{ 
int maxVal=a[0]; 
for(int i=0;i<a.length;i++) 
{ 
if(a[i]>maxVal) 
{ 
maxVal=a[i]; 
} 
} return maxVal; 
} 
0

還有另一種更有幫助的方法;

import java.util.Arrays;

排序您的陣列由 -

Arrays.sort(數組);

然後 -

INT C = array.length;
System.out.println(array [c-1]);