扫描仪输入是否仅在主要方法中工作?
问题描述:
正如你可能从我的其他问题中看到的那样,我正在设计一个nack和cross的游戏。我开始设计并编写测试,我设法让它们全部通过。所以在技术上,我在测试中玩游戏。扫描仪输入是否仅在主要方法中工作?
现在我想让游戏与用户进行一些互动,所以我在游戏类中插入了主要方法。我已经有了一些方法来确定是否有效。当我尝试将扫描程序并入已存在的方法中,并使用扫描程序的next()或nextLine()方法时,它不起作用。但是,当我把相同的代码在主要方法中,它的工作原理,并要求我在控制台上输入。
扫描仪只能使用主要方法吗?如果是的话,我还需要通过控制台为我的游戏输入什么选择?
答案与实例会因理解我的基本能力
下面是我
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();
}
也许我的错误是在离开主法的空白。因为我已经有方法来完成我想要的功能,并且所有的测试都通过了,所以我不想将东西移动到主要方法中。有什么建议吗?
谢谢
答
工作得很好。
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
如果您想要发生任何事情,您必须在主要方法中调用它。您不必将主要方法留空,而需要(可能)有game loop。在这种情况下,如果您只想调用该方法,请添加playMove(null, null, 0)
以运行您的Scanner
。
带有示例代码和比“不起作用”更具体的问题将不胜感激,因为我们缺乏ESP。当然,答案是否定的,你可以在任何地方使用该对象......就像任何其他对象一样。 –
不,当然不是。那只会是愚蠢的。代码请。 (你的问题在于其他地方,并且认为它与使用*任意*扫描仪对象的位置*有关。) – 2011-11-22 23:01:04
您能否粘贴一些代码? “ –