如何使用Java中的方法发送多个值

问题描述:

我想使用数组发送多个值,我使用return来发送两种不同的数据类型,但我知道这是做错的方式。我有研究,但我找不到解决这个具体问题的方法。任何帮助,将不胜感激。谢谢。如何使用Java中的方法发送多个值

import java.util.Scanner; 

public class methodbankinput { 
    public static void main(String args[]) { 

     Scanner kb = new Scanner(System.in); 
     String[] names = new String[2]; 
     int[] account_numbers = new int[2]; 
     String userinput = ""; 
     String accountosearch=""; 
     int count = 0; 

     do { 
       System.out.println("Type P"); 
       System.out.println("Type S"); 
       System.out.println("Type E to exit"); 
       userinput = kb.nextLine(); 

       if(userinput.equals("P")) { 
        **String[] populate** = populate(names,account_numbers); 

       } else if(userinput.equals("S")) { 

       System.out.println("Please enter the accoun to search"); 
       accountosearch = kb.next(); 
       search(names,accounttosearch); 
       } 
       count++; 
      } 
      while(count >=0); 
} 

public static String[] int[] populate(String[] names,int[] account_numbers) { 
    Scanner kb = new Scanner(System.in); 
     for (int i = 0; i < names.length; i++) { 
      System.out.println("Please enter 10 names"); 
      names[i] = kb.next(); 
      System.out.println("Please Enter 10 Account_numbers"); 
      account_numbers[i] = kb.nextInt(); 
     } 
     return names[10],account_numbers[10];  
    } 
}  
+3

看来你真的想要返回一个Map (它包含'Pair '的集合,其中'Key'是账号,'Value'是名字。) –

你不能那样做。

相反,您应该创建一个Account类,其中包含名称和帐号的属性,然后返回Account[]

Java不支持具有多个返回类型的方法。一个String[]阵列和int[]阵列:return new Object[] { names, account_numbers };

另一种方式是提供你的方法一个特殊的“元组”类,其中包含了

但是,您可以有两个组成部分,其本身又是数组返回Object[]阵列两个感兴趣的结果值。这样的元组类可以比在C结构:

public class NamesAccountNumbers { 
    private String[] names; 
    private int[] accountNumbers; 

    /** constructor */ 
    public NamesAccountNumbers(String[] names, int[] accountNumbers) { 
    this.names = names; 
    this.accountNumbers = accountNumbers; 
    } 

    public String[] getNames() { 
    return names; 
    } 

    public int[] getAccountNumbers() { 
    return accountNumbers; 
    } 

} 

它可以使这个类的两个领域的公共和不提供构造函数和getter方法,这将导致像对象结构。但是,遵守Java-Beans风格被认为是很好的做法。