gpt4 book ai didi

java - println 的非静态替换

转载 作者:行者123 更新时间:2023-12-03 04:12:07 25 4
gpt4 key购买 nike

简单的问题是我可以使用其他函数来代替 println,因为我想使用 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();
}
}

}

如果这不可能,也许还有其他方法可以解决它。我的主要问题是我想在代码中添加一个字符串。但这似乎很难做到:)对此有何帮助:)

最佳答案

该问题与println()无关。它与以下事实有关:作为非静态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);
}

关于java - println 的非静态替换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13940842/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com