不过我试了一下,好像按out.write(String.valueOf(getHeading())); 不行,有如下出错信息, Compiling...Found 1 semantic error compiling "C:/robocode/robots/sample/Tracker.java": 73. out.write(String.valueOf(getHeading())); <-------------------------------------> *** Error: Method "void write(java.lang.String $1);" in class "java/io/PrintStream" has private access. Therefore, it is not accessible in class "sample/Tracker". Compile Failed (1)
按天紫的方法可以,但如下这个小程序,结果有点不对头, import java.io.*; import java.lang.*; public class Copy { public static void main(String[] args) throws IOException {
out.write(String.valueOf(getHeading()));
不行,有如下出错信息,
Compiling...Found 1 semantic error compiling "C:/robocode/robots/sample/Tracker.java": 73. out.write(String.valueOf(getHeading()));
<------------------------------------->
*** Error: Method "void write(java.lang.String $1);" in class "java/io/PrintStream" has private access. Therefore, it is not accessible in class "sample/Tracker".
Compile Failed (1)
import java.io.*;
import java.lang.*;
public class Copy {
public static void main(String[] args) throws IOException {
double c=2.0;
DataOutputStream out=new DataOutputStream(new FileOutputStream("in.txt"));
out.writeDouble(c);
out.close();
}
}在文本文件in.txt中,结果不是2.0,是@,究竟是为什么会出现这样的结果?
应该用DataOutputStream的writeDouble()方法,其参数为一个double值。
从in.txt中取出该double值,可以用DataInputStream的readDouble()方法,会得到正确值的。