【发布时间】:2019-12-03 12:22:24
【问题描述】:
对于一个项目,我需要在我的 main 方法中调用方法 getBill。 getBill 返回一个 int 值(bill),但是当我声明它时:
getBill(qty);
我遇到了一个错误。我对使用方法比较陌生,我是否正确声明了方法本身?有没有什么方法可以在不使用方法的情况下完成 getBill 的工作?
这是我正在处理的代码的一部分,我需要调用该方法:
while (true) {
line = bc.readLine();
if (line == null)
break;
billdata = line.split(",");
accs = Integer.parseInt(billdata[0]);
type = billdata[1];
qty = Integer.parseInt(billdata[2]);
company = billdata[3];
if (accNo == accs) {
System.out.println("Your RHY Telecom account has been found.");
System.out.printf("%5s", accs);
System.out.printf("%24s", qty);
System.out.printf("%10s", type);
System.out.printf("%20s", company);
System.out.println("Your current charges are: ");
}
}
}
这是方法本身:
public static int getBill(int plan, int bill, int qty, String[] accountdata, String line) throws Exception {//getting details from text file number 2, then computing the bill
BufferedReader bf = new BufferedReader(new FileReader("res/Account-Info-Final1.txt"));
accountdata = line.split(",");
plan = Integer.parseInt(accountdata[4]);
bill = 0;
int smslimit = Integer.parseInt(accountdata[5]);
int calllimit = Integer.parseInt(accountdata[6]);
double datalimit = Double.parseDouble(accountdata[7]);
if (qty > smslimit) {
bill = (qty * 2) + plan;
} else if (qty > calllimit) {
bill = (qty * 5) + plan;
} else if (qty > datalimit) bill = (qty * 3) + plan;
else if (qty <= smslimit || qty <= datalimit || qty <= calllimit){
bill += plan;
}
return bill;
}
}
【问题讨论】:
-
“我遇到了一个错误”是什么错误?
-
错误是什么?错误消息包含有关问题的有用线索。所以不要只说“有一个错误”——试着理解错误信息告诉你什么。并将其添加到您上面的问题中。
-
欢迎来到stackoverflow。请提供您的问题的详细描述以及重现所述问题的最小示例。
-
你的方法需要得到 5 个参数。你只用 1 个参数调用它。你为什么希望它起作用?
-
@TheLittleGreenFreshie 那么您没有将所有需要的数据传递给该方法。如果方法有 5 个参数,则需要将 5 条数据全部传递给它。
标签: java methods bufferedreader