【发布时间】:2013-03-04 16:39:10
【问题描述】:
import java.util.Scanner;
public class Vending {
public double vend(double balance) {
Scanner in = new Scanner(System.in);
balance = 0;
System.out.print("Enter a command = ");
String command = in.nextLine();
while (in.hasNext()) {
if (command.equals("penny")) {
balance = balance + 0.01;
System.out.println("balance = " + balance);
}
return balance;
}
}
}
嗨!我已经尝试了一切来弄清楚为什么 return 语句没有被识别。如果我将“退货余额”放在其他任何地方,它会说 system.out.println 无法访问......你们中的任何人都可以帮我解决为什么这可能不起作用吗?谢谢!!
【问题讨论】:
-
如果您缩进代码,您的代码会非常更容易理解 - 无论对您还是我们来说都是如此。如果您使用的是 Eclipse 之类的 IDE,您可能会要求它为您重新格式化您的源代码。一旦你这样做了,答案可能会更加明显。 (我怀疑我已经知道出了什么问题,但我希望你重新格式化代码,看看你自己能不能找到它。)
-
啊,除了我看到它已经完成了:(
-
我认为自己缩进比让 OP 来做要快:)
-
好像有逻辑问题。您必须在每个循环中重新读取新行,而不是读取一次并期望循环按预期工作。
-
也就是说,我不小心删除了实际问题...现在已修复,抱歉。
标签: java loops if-statement while-loop return-value