我无法让我的程序以交互方式运行。
在其中一个类中,System.in
被更改为从文本文件中读取,如下所示:
public class mainClass
{
public static void main(String[] args)
{
...
try {System.setIn(new java.io.FileInputStream("foo.txt"));}
catch (java.io.FileNotFoundException e) {}
Scanner sc = new Scanner(System.in);
someClass instance = new someClass(sc);
...
}
}
我遇到的问题是我的另一堂课。我不知道如何调用点或引用同一个扫描仪。
编辑:
好吧所以我的班级接受扫描仪作为参数。有没有办法在以后的方法中调用该变量?
public someClass (Scanner sc)
{
}
public void test(String a)
{
someClass.sc.nextLine();
}
当我尝试这样的事情时,我得到一个错误,说它无法找到变量sc。
答案 0 :(得分:3)
除非将该引用传递给其他类或其某个实例,否则不能引用相同的Scanner
对象。
Scanner sc = new Scanner(System.in);
SomeClass instance = new SomeClass(sc);
Scanner
实例作为参数传递给SomeClass
的构造函数。您可以将该引用保存在变量中,并在需要时重复使用它。