2012-06-14 44 views
0

我有一個程序接受一個代表數組索引的數字和一個用於替換索引對應的數組元素的字符串。將數組傳遞給一個方法(Java)

這裏是我的代碼:

public static void main(String args[]){ 

    String names[]={"Alvin", "Einstein", "Ace", "Vino", "Vince"}; 

      for(int i=0; i<names.length;i++) 
       System.out.println(i + " - " + names[i]); 

    replaceArrayElement(names); 
} 

    public static void replaceArrayElement(String name[]){ 

     int index = 0; 
     String value = ""; 

     Scanner scan = new Scanner(System.in); 

     System.out.print("\nEnter the index to be replaced:"); 
     index = scan.nextInt(); 

     if(index<name.length){ 

      System.out.print("Enter the new value:"); 
      value = scan.nextLine(); 

      name[index] = scan.nextLine(); 

      System.out.println("\nThe new elements of the array are"); 

      for(int j=0; j<name.length;j++) 
       System.out.println(name[j]); 
     } 
     else{  
      System.out.println("Error!");  
     } 
    } 

我需要做的就是把INT指數變量和字符串值變量的方法replaceArrayElement作爲參數內。但我不知道如何調用具有不同數據類型參數的方法。有人能告訴我怎麼做?謝謝。

回答

5

那麼它不是明確的,你會得到的值從通過,但這裏是你如何申報方法:

// Get the values from elsewhere, obviously 
replaceArrayElement(array, 5, "fred"); 

public static void replaceArrayElement(String[] name, int index, String value) 

你會先叫它請注意,我使用了String[] name而不是String name[] - 而後者的語法是允許,但強烈建議您不要採用風格。

+0

謝謝。我會記住=) – jhedm

0

申報replaceArrayElement如下 -

public static void replaceArrayElement(int index, String value, String[] name) 

,並把它作爲 -

replaceArrayElement(2, "Einstein2", names); 
0
public static void main(String args[]){ 

String names[]={"Alvin", "Einstein", "Ace", "Vino", "Vince"}; 

      for(int i=0; i<names.length;i++) 
       System.out.println(i + " - " + names[i]); 

    replaceArrayElement(3,"alpesh",names); 
} 

    public static void replaceArrayElement(int index, String replacename, String names[]){ 


     if(index<names.length){ 

      names[index] = replacename; 

      System.out.println("\nThe new elements of the array are"); 

      for(int j=0; j<names.length;j++) 
       System.out.println(names[j]); 
     } 
     else{  
      System.out.println("Error!");  
     } 
    } 
+0

數組的新值將來自用戶輸入。在調用方法時,是否需要在方法中添加另一個名稱和索引值?即replaceArrayElement(3,「alpesh」,名稱); – jhedm

+0

這只是一個例子。你可以相應地改變你想要的 –