初学JAVA,例题报错,求前辈指点
- Java code
import java.io.*; public class Welcome { public static void main(String args[])throws IOException { BufferedReader br=new BufferedReader(new FileReader("1.txt")); BufferedWriter bw=new BufferedWriter(new FileWriter("2.txt")); StreamTokenizer st=new StreamTokenizer(br); st.whitespaceChars(0, 32); st.eolIsSignificant(true); int tokenType; while(br.ready()) { tokenType=st.nextToken(); switch(tokenType) { case st.TT_NUMBER://这里报错,说例表达式必须是常量表达式,但不知道应该怎么改 bw.write(String.valueOf((long)st.nval)); bw.newLine(); break; case st.TT_WORD://同上 bw.write(st.sval); bw.newLine(); break; } } bw.close(); } }刚接触JAVA.. 看到这种完全面向对象的写法差点两眼一白就倒下了= =||
[解决办法]
因为TT_NUMBER是static变量,所以不要用StreamTokenizer对象来访问。
你改成
StreamTokenizer.TT_NUMBER
和
StreamTokenizer.TT_WORD
应该就好了。
[解决办法]
StreamTokenizer.TT_NUMBER
TT_NUMBER这个是静态的,直接访问就好了.
st.TT_NUMBER这么些也可以运行,只是个警告.
[解决办法]
静态变量不属于实例类的,访问方式类名加“.”