2011-05-23 23 views
-1
public static void main (String args[]) { 

Scanner myinput=new Scanner(System.in) ; //Arrary length comes from user! 
System.out.println("Enter a number: ") ; 
int sayi=myinput.nextInt() ; 

int [] Array = new int [sayi] ; 

for(int i=0; i<SayiDizisi.length ; i++){ //Fill the array!(Comes from user) 
    System.out.println("Enter the numbers: ") ; 
    SayiDizisi[i]=myinput.nextInt() ;} 
} 

Max(int [] SayiDizisi) ; // ??????????????????????????????????? 
} 

public static int Max(int [] Array1) {  
    int max=SayiDizisi1[0] ; 
    for(int i=0; i<SayiDizisi1.length ; i++) { 
     if(SayiDizisi1[i]>max) 
     max=SayiDizisi1[i] ; 
} 


    return SayiDizisi ; //????????????????????? 


    } 
} 
+0

阿爾珀,請儘量不要編輯的問題在無效的回答方式。當問題和答案不匹配時,它使SO成爲一個不太有用的站點:-) – paxdiablo 2011-05-23 02:37:49

回答

3

首先,在方法調用中不應該有int []類型。變化:

Max (int[] SayiDizisi); 

到:

Max (SayiDizisi); 

其次,你Max函數將返回一個整數,但它返回一個整數數組。

return SayiDizisi; 

到:從改變其return語句

return max; 

第三,我看不到的地方SayiDizisi在任何地方定義。您似乎正在創建一個要填充的數組,但您已將其稱爲Array。變化:

int[] Array = new int[sayi]; 

到:

int[] SayiDizisi = new int[sayi]; 

最後,你的括號不均衡。請參閱行SayiDizisi[i]=myinput.nextInt() ;} - 最後有一個多餘的大括號,這會導致編譯器誤解您的意圖。


這裏是一個全功能的一個添加了對自己的教育作出的修正,以及一些意見:

import java.util.Scanner; 

public class scratch { 
    public static void main (String args[]) { 
     // Get the count and allocate array. 

     Scanner myinput = new Scanner (System.in); 
     System.out.println ("Enter a number: "); 
     int sayi = myinput.nextInt(); 

     int[] SayiDizisi = new int[sayi]; 

     // Get the values into the array. 

     for (int i = 0; i < SayiDizisi.length ; i++) { 
      System.out.println ("Enter the numbers: "); 
      SayiDizisi[i] = myinput.nextInt(); 
     } 

     // Output the maximum. 

     int x = Max (SayiDizisi); 
     System.out.println ("Maximum is: " + x); 
    } 

    public static int Max(int[] Array1) { 
     // Assume first is largest. 

     int max = Array1[0] ; 

     // Check all others, finding larger. 

     for (int i = 0; i < Array1.length ; i++) { 
      if (Array1[i] > max) 
       max = Array1[i]; 
     } 

     // Return the largest found. 

     return max; 
    } 
} 
+2

最糟糕的問題是他將代碼添加到錯誤的代碼中。對於OP,如果你沒有使用IDE,那麼經常編譯,修正遇到的所有錯誤,並且不要添加任何新的代碼,直到當前的代碼編譯沒有錯誤。 – 2011-05-23 02:05:01

+1

感謝您的幫助! – 2011-05-23 02:10:45

相關問題