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

时间:2013-12-11 15:44:46

标签: java

我正在尝试使用数组发送多个值,我使用return发送两种不同的数据类型,但我知道这是错误的方法。我有研究,但我找不到这个特定问题的解决方案。任何帮助,将不胜感激。谢谢。

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];    
    }
 }    

2 个答案:

答案 0 :(得分:3)

你做不到。

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

答案 1 :(得分:1)

Java不支持具有多种返回类型的方法。

但是,您可以返回一个Object[]数组,其中包含两个本身又是数组的组件:String[]数组和int[]数组:return new Object[] { names, account_numbers };

另一种方法是为您的方法提供一个特殊的“元组”类,其中包含两个感兴趣的结果值。这样的元组类可以与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;
  }

}

可以将此类的两个字段设置为public,并且不提供构造函数和getter,这将导致类似于对象的结构。但是,遵循Java-Beans-Style是一种良好的做法。