2016-01-02 169 views
2

我想回調一個if-else語句的這個方法,但是我總是收到諸如「.class is expected」之類的錯誤。調用方法的錯誤

這裏是我的代碼:

public static void display(String[] date,int index,int arraylength) 
{ 
    for (index=0;index<arraylength;index++) 
    { 
     System.out.println("The date ["+index+"]: "+date[index]); 
    } 
    //this is the method which is for display an array element 
    if (pass.equals("BERKAT123")) 
    { 
     display(String[] date;int index;int arraylength); 
    } 
    else 
    { 
     System.out.println("Incorrect password"); 
     start(); 
    } 
} 
//this is where the method will be call... 

好像我搞砸了的參數。有人能告訴我如何編寫正確的參數嗎?

+0

更新你的錯誤也 –

+0

」的.class'預期 顯示器(的String []日期; INT指數; INT arraylength) ; – Derpington

+0

直接傳遞值如顯示(日期,索引arraylength) –

回答

0

您需要調用函數一樣

if (pass.equals("BERKAT123")){ 
    display(date,index,arraylength); 
} 

,而不是

if (pass.equals("BERKAT123")){ 
    display(String[] date;int index;int arraylength); 
} 

你需要寫下來的變量類型(字符串[],INT)當您定義的功能,但不是當你援引它。

+0

我看到...謝謝你的幫助:) – Derpington

0

首先你需要了解參數和參數之間的區別,在功能/方法定義中使用

  • 參數。
  • 在函數/方法調用中使用的參數。

您需要調用像這樣的方法display(date,index,arraylength);而不是display(String[] date;int index;int arraylength);

我解釋參數perameters以及如何調用方法,

public static int sum(int x, int y) { //x, y are parameters here 
     return x + y; 
    } 

    public static void main(String[] args) { 
     int x = 10; 
     int y = 20; 
     int add = sum(x, y); //x, y are arguments here 
     System.out.println("ADDITION IS: " +add); 
    } 
1

我沒了解清楚你的問題。但據我瞭解,你需要確定你的「顯示」功能,這樣的事情 - 在「主」功能

public static void display(String[] date){ //here take the date array as the only parameter 
    for(int index=0;index<date.length;index++){ 
     System.out.println("Date with index " +index+ " is: "+date[index]); 
    } 
} 

現在填充字符串日期[]數組按照您的要求和所有其他變量你需要。然後檢查你的if-else條件,並呼籲 「顯示」 功能,裏面像這樣 -

if (pass.equals("BERKAT123")){ 
    display(date); 
}