如何使用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];
}
}
答
你不能那样做。
相反,您应该创建一个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风格被认为是很好的做法。
看来你真的想要返回一个Map(它包含'Pair '的集合,其中'Key'是账号,'Value'是名字。) –