【发布时间】:2014-02-17 01:47:32
【问题描述】:
我将尽我所能解释这一点。我主要有一个用户输入数据来添加信息。它通过 bankparser 类来拆分不可避免地通过与此代码无关的第三类的数据。但是,尝试打印银行时出现错误。我 95% 的肯定是因为我在 BankParser 类中的回报为空。我不确定它需要什么返回类型,因为该类型实际上是另一个类。有谁知道如何解决这个问题?谢谢!
我希望打印银行信息时的输出如下所示: 银行名称:BankName 银行编号:12345 银行地址:马萨诸塞州波士顿
主要
case 'A': //Add Bank
System.out.print("Please enter the bank information:\n");
inputInfo = scan.nextLine();
bank1 = BankParser.bankParser(inputInfo);
accounts[index] = bank1;
index++;
break;
case 'B': //Display banks
for (int i=0; i< index; i++)
System.out.print(accounts[i].toString());
break;
银行解析器
public class BankParser {
public static Bank bankParser(String lineToParse)
{
Address AddressSetter = new Address();
Bank BankSetter = new Bank();
//Take in user data and segregate by bankName/bankID/city,state
String bankInfo = lineToParse;
String[] bankInfoArray = lineToParse.split("/"); //split array data
String bankName = bankInfoArray[0];
String bankID = bankInfoArray[1];
String bankCity = bankInfoArray[2];
String bankState = bankInfoArray[3];
AddressSetter.setCity(bankCity);
AddressSetter.setState(bankState);
BankSetter.setBankAddress(bankCity, bankState);
BankSetter.setBankID(bankID);
BankSetter.setBankName(bankName);
System.out.println(bankInfoArray[0]);
return null;
}
}
【问题讨论】:
-
请发布您的堆栈跟踪。
-
Assignment4.main(Assignment4.java:47) 处的线程“main”java.lang.NullPointerException 中的异常
-
由于您的
bankParser方法具有作为返回值Bank,因此您必须返回在方法内部创建的Bank类的实例(或类的字段)。也许您想返回BankSetter。我还建议您遵循 Java 约定。你的变量应该被称为bankSetter和addressSetter。 -
第 47 行指 System.out.print(accounts[i].toString());
-
Christian,当我返回BankSetter,然后在main中打印account的列表时,它只显示了城市和州,因为AddressSetter是通过main中的toString方法传递的。如何才能显示所有数据?
标签: java arrays methods types return