正如你可能从我的其他问题中看到的那样,我正在设计一个小游戏和十字架游戏。我开始设计它并为它编写测试,我设法使它们全部通过。所以从技术上讲,我通过测试来玩游戏。
现在我想让游戏与用户进行一些互动,所以我在我的游戏类中插入了主要方法。我已经有方法进行移动并确定它是否有效。当我尝试将扫描仪合并到已经存在的方法中并使用扫描仪的next()或nextLine()方法时,它不起作用。但是当我在main方法中放入相同的代码时,它可以工作并要求我在控制台上输入。
扫描仪仅适用于主方法吗?如果是这样,我有什么选择通过控制台输入我的游戏?
由于我的基本能力,我将不胜感激以下是我的内容
public static void main (String args []){
}
public boolean playMove (player player, String value, int index) {
Scanner in = new Scanner (System.in);
System.out.print("Enter Value");
value = in.next();
}
也许我的错误是将主方法留空。因为我已经有方法可以执行我想要的功能并且所有测试都通过了,所以我不想将内容移动到main方法。有什么建议吗?
由于
答案 0 :(得分:2)
工作得很好。
import java.util.Scanner;
public class ScannerTest {
public static void main(String[] args) {
System.out.println(test());
}
private static String test() {
Scanner stdin = new Scanner(System.in);
return stdin.nextLine();
}
}
我的假设是你有一个范围问题,发布你的代码。
/ E1
如果您想要发生任何事情,您必须在main方法中调用它。您需要(可能)拥有game loop,而不是将主方法留空。在这种情况下,如果您只想调用该方法,请添加playMove(null, null, 0)
以使用Scanner
。