2

如果我的主要方法中有这个:PrintWriter output = new PrintWriter(new FileWriter(args[1]));

这是另一种方法:output.println(currentLine);

import java.io.*;显然,

有谁知道我为什么会得到

cannot find symbol
symbol  : variable output
location: class TestClass
        output.println(currentLine);
4

1 回答 1

2

编译器告诉您名称(符号)output未在您要使用它的范围(和封闭范围)中定义。基于定义

PrintWriter output = new PrintWriter(new FileWriter(args[1]));

似乎您outputmain()函数中定义,但想在类中使用它TestClass,这是无效的,因为output仅在其中定义main()

假设main()TestClass你可以在类中定义output,然后在类中分配它的值main()并稍后在类中使用它:

public class TestClass {
  PrintWriter output;
  public void write(String currentLine) {
    output.println(currentLine);
  }

  public static void main(String[] args) {
    TestClass tc = new TestClass();
    tc.output = new PrintWriter(new FileWriter(args[1]));
    tc.write("Sometext");
  }
}
于 2012-04-27T11:08:25.637 回答