2017-06-16 47 views
0

如何將多個值傳遞給java中特定方法的單個參數。 例如假設我有一個帶有單個參數'childname'的方法,它可以獲取家庭中所有孩子的名字。 現在我怎麼能傳遞多個值到這個參數來獲得所有不同的名稱。單個參數的多個值

public String getChildrenNames(String childname) 
{ 
    children= childname+ familyName; 
    return children; 
} 
+0

難道你不能改變接受兩個參數的方法?? – Jeff

回答

1

您通常會使用Array或Collection進行實現。 如:

public String[] getNamesOfChildren() 

public Collection<String> getNamesOfChildren() 
0

你可以使用變參像下面

public String getChildrenNames(String... childname) 
{ 

    for(String s:childname) 
{ 
children= childname+ s; 
} 
return children; 
} 

例如

public class Test { 
public static void main(String[] args) { 
    System.out.println(tes("s","d","s")); 
} 

static String tes(String... x) 
{ 
    String y=""; 
    for(String s:x) 
    { 
     y=y+s; 
    } 
    return y; 
} 
} 

輸出: SDS

+0

這顯然不起作用,縮進也可能會更好。 – Tom

+0

@Tom你能告訴我它不會工作嗎 – SpringLearner

+0

爲什麼你認爲你應該's'附加數組'childname'? – Tom

0

如果你不能改變你的方法的簽名,那麼你可以使用串聯,然後在你的方法,你可以分割這個參數,例如:

String childname = firstname + "," + lastname; 
getChildrenNames(childname); 

,因此您可以拆分此parametter得到多個名稱,

String[] spl = childname.split(","); 

但還有更好的方法,然後這個,如果你可以改變你的方法的簽名,這樣你就可以創造出可以採取一個數組或名稱inste的列表的方法廣告:

public String getChildrenNames(String...childnames) { 

public String getChildrenNames(Lis<String> childnames) { 

你甚至可以創建例如對象:

class Person{ 
    private String firstname; 
    private String lastname; 
    //getters and setters 
} 

然後你的方法應該採取一個數組或Person對象的列表:

public String getChildrenNames(List<Person> childname) { 
0

正如人們所說,你需要通過他們作爲一個數組,所以你的代碼應該是這樣的:

String familyName = "Family"; 

public String[] getChildrenNames(String[] childnames) 
{ 
    String[] result = new String[childnames.length]; 
    for(int i=0; i<childnames.length; i++) 
    { 
     result[i] = childnames[i] + " " +familyName; 
    } 
    return result; 
} 

public void main() 
{ 
    String[] childnames = {"Name1", "Name2", "Name3"}; 
    String[] childnamesAux = getChildrenNames(childnames); 
} 

有了這個你childnamesAux變量應該有:{「名1家庭」,「名稱2家庭」,「NAME3家庭」}

0

現在你可以,如果你把它試試這個

public static String child(String... name){ 
    String[] array=name; 
    String tem; 
    if(name.length==1) 
     return name[0]; 
    for(int counter=0; counter<array.length;counter+=2){ 
     array[0]=name[counter]+name[counter+1]; 
    } 
    tem=array[0]; 

    return tem; 
} 

child("Paul","walker"); 

輸出爲 Paul Walker 希望對此有所幫助

相關問題