我正在尝试将随机数写入文件。所以每行基本上都有一个数字,方法名称采用filepath参数和long n参数,即生成的随机数。 这就是我到目前为止所做的:
public void generate(long n, String filePath) throws FileNotFoundException
{
PrintWriter out = new PrintWriter("filePath");
Random r = new Random();
for(int i = 0; i < n; i++)
{
int num = r.nextInt(10);
out.write(num + "\n");
}
out.close();
}
我是否在正确的轨道上?另外,我将如何通过cmd运行此程序。我知道编译和运行它的命令,但我想我需要一个测试人员来运行它。那么有人可以告诉我如何通过cmd运行此代码。
编辑:搞定了!谢谢大家的帮助!
答案 0 :(得分:2)
您已完成打印。 而不是做
out.write(num + "\n");
你想要做
out.println(num);
这是跨平台的(在我看来,更容易阅读)。
此外,为了从命令行运行程序,您需要做的就是在类中添加一个main方法,如下所示
public static void main(String[] args) throws FileNotFoundException {
int n = Integer.parseInt(args[0]);
String filePath = args[1];
YourClass c = new YourClass();
c.generate(n, filePath);
}
这个主要假设您从命令行传入2个参数,数字后跟文件名
希望这是有帮助的
答案 1 :(得分:1)
filePath
是一个保存文件路径的变量,因此您不希望将其括在双引号中。如果这样做,则会将其视为String
,因此程序会搜索路径为filePath
的文件。
PrintWriter out = new PrintWriter(filePath); // no ""
&#34;测试员&#34;可以像运行程序一样运行程序:java programName
答案 2 :(得分:1)
PrintWriter out = new PrintWriter("filePath");
应该是
PrintWriter out = new PrintWriter(filePath);
您希望在参数中使用变量名称,而您传递的是字符串。
答案 3 :(得分:0)
有两种方法可以测试: