gpt4 book ai didi

Java - 方法结构执行

转载 作者:行者123 更新时间:2023-12-01 11:00:52 26 4
gpt4 key购买 nike

我正在学习赫尔辛基大学的 Java 类(class),我对其中一个示例有疑问。

有问题的代码:

import java.util.Scanner;
public class UserInterface {
private Scanner reader;

public UserInterface(Scanner reader) {
this.reader = reader;
}

public void start() {
while (true) {
String command = reader.nextLine();

if (command.equals("end")) {
break;
} else {
handleCommand(command);
}
}
}

public void handleCommand(String command) {
if (command.equals("buy")) {
String input = readInput("What to buy: ");
System.out.println("Bought!");
} else if (command.equals("sell")) {
String input = readInput("What to sell: ");
System.out.println("Sold!");
}
}

public String readInput(String question) {
while (true) {
System.out.print(question);
String line = reader.nextLine();

if (line.equals("carrot")) {
return line;
} else {
System.out.println("Item not found!");
}
}
}
}

如果您选择购买或出售不是胡萝卜的东西,为什么它不在handleCommand 方法中输入行正下方运行该行(打印 Bought! 或 Sold!)?我不明白在没有购买或出售胡萝卜的情况下它如何终止条件。这里的readInput方法是如何操作handleCommand方法的呢?谢谢。

最佳答案

函数readInput()的定义相当奇怪:只有当你输入carrot时它才会返回。

readInput() 包含一个 while 循环,该循环不断循环,直到用户输入 carrot,否则它会显示 Item not find! 并重试。 handleCommand() 中的输出行仅在 readInput() 返回时执行。

关于Java - 方法结构执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33338544/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com