Neo*_*nde 2 java static non-static
简单的问题是我可以使用其他函数而不是println,因为我想将非静态变量输出到文件usig out.println();
这是我的代码:
import java.io.*;
public class main {
String outputString ="Math.sqrt(25);" ;
static String outputPath ="src/output.txt";
/**
* @param args
*/
public static void main(String[] args) throws IOException {
File f;
f= new File (outputPath);
//file creation
if(!f.exists()){
f.createNewFile();
System.out.println("File has been created");
}else{
f.delete();
System.out.println("1. File has been deleted");
f.createNewFile();
System.out.println("2. File has been created");
}
//adding string(text) to file
try{
FileWriter outFile = new FileWriter(args[0]);
PrintWriter out = new PrintWriter(outFile);
out.println(outputString);
out.close();
}catch(IOException e){
e.printStackTrace();
}
}
}
Run Code Online (Sandbox Code Playgroud)
如果那不可能,也许还有另外一种方法可以绕过它.我的主要问题是我想在代码的和平中创建一个字符串.但这似乎很难做:)任何帮助:)
这个问题与此无关println().它与以下事实有关:非static,outputString与您的类的实例相关联,并且您的代码不会创建此类实例.
要么创建outputString静态,要么创建一个实例main:
public void doit(String[] args) throws IOException {
...
PrintWriter out = ...;
out.println(outputString);
...
}
public static void main(String[] args) throws IOException {
new main().doit(args);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
631 次 |
| 最近记录: |