【发布时间】:2015-10-01 17:10:22
【问题描述】:
我从一本书(名为 Schaum 的计算机科学原理大纲)中获得了这段 Java 代码:
public class Main{
public static void main(String[]args){
int x;
int y;
int z;
y=7;
z=4;
x=y+z;
System.out.println("x = "+x);
}
}
我已将“原始”更改为“主要”。并且可以在这个网站上编译:
http://www.learnjavaonline.org/
输出只是“x = 11”。
但是当尝试在 Windows 8.1 上使用 javac Main.java 使用 CMD 编译它时,我收到了这个错误消息(文件名为 Main.java):
Main.java:1: error: illegal character: '\u0000'
■p u b l i c c l a s s M a i n {
^
Main.java:1: error: illegal character: '\u0000'
■p u b l i c c l a s s M a i n {
^
Main.java:1: error: <identifier> expected
■p u b l i c c l a s s M a i n {
^
Main.java:1: error: illegal character: '\u0000'
■p u b l i c c l a s s M a i n {
^
Main.java:2: error: illegal character: '\u0000'
^
Main.java:3: error: illegal character: '\u0000'
p u b l i c s t a t i c v o i d m a i n ( S t r i n g [ ] a r g s ) {
^
Main.java:3: error: illegal character: '\u0000'
p u b l i c s t a t i c v o i d m a i n ( S t r i n g [ ] a r g s ) {
^
Main.java:3: error: illegal character: '\u0000'
p u b l i c s t a t i c v o i d m a i n ( S t r i n g [ ] a r g s ) {
^
Main.java:3: error: illegal character: '\u0000'
p u b l i c s t a t i c v o i d m a i n ( S t r i n g [ ] a r g s ) {
^
Main.java:3: error: illegal start of type
p u b l i c s t a t i c v o i d m a i n ( S t r i n g [ ] a r g s ) {
^
Main.java:3: error: illegal character: '\u0000'
p u b l i c s t a t i c v o i d m a i n ( S t r i n g [ ] a r g s ) {
^
Main.java:3: error: illegal character: '\u0000'
p u b l i c s t a t i c v o i d m a i n ( S t r i n g [ ] a r g s ) {
^
Main.java:3: error: ';' expected
p u b l i c s t a t i c v o i d m a i n ( S t r i n g [ ] a r g s ) {
^
Main.java:3: error: illegal character: '\u0000'
p u b l i c s t a t i c v o i d m a i n ( S t r i n g [ ] a r g s ) {
^
Main.java:3: error: illegal start of type
p u b l i c s t a t i c v o i d m a i n ( S t r i n g [ ] a r g s ) {
^
Main.java:3: error: illegal character: '\u0000'
p u b l i c s t a t i c v o i d m a i n ( S t r i n g [ ] a r g s ) {
^
Main.java:3: error: illegal character: '\u0000'
p u b l i c s t a t i c v o i d m a i n ( S t r i n g [ ] a r g s ) {
^
Main.java:4: error: illegal character: '\u0000'
^
Main.java:5: error: illegal character: '\u0000'
i n t x ;
^
Main.java:5: error: illegal character: '\u0000'
i n t x ;
^
Main.java:5: error: not a statement
i n t x ;
^
Main.java:5: error: not a statement
i n t x ;
^
Main.java:5: error: illegal character: '\u0000'
i n t x ;
^
Main.java:6: error: illegal character: '\u0000'
^
Main.java:7: error: illegal character: '\u0000'
i n t y ;
^
Main.java:7: error: illegal character: '\u0000'
i n t y ;
^
Main.java:7: error: not a statement
i n t y ;
^
Main.java:7: error: not a statement
i n t y ;
^
Main.java:7: error: illegal character: '\u0000'
i n t y ;
^
Main.java:8: error: illegal character: '\u0000'
^
Main.java:9: error: illegal character: '\u0000'
i n t z ;
^
Main.java:9: error: illegal character: '\u0000'
i n t z ;
^
Main.java:9: error: not a statement
i n t z ;
^
Main.java:9: error: not a statement
i n t z ;
^
Main.java:9: error: illegal character: '\u0000'
i n t z ;
^
Main.java:10: error: illegal character: '\u0000'
^
Main.java:11: error: illegal character: '\u0000'
^
Main.java:12: error: illegal character: '\u0000'
^
Main.java:13: error: illegal character: '\u0000'
y = 7 ;
^
Main.java:13: error: illegal character: '\u0000'
y = 7 ;
^
Main.java:13: error: illegal character: '\u0000'
y = 7 ;
^
Main.java:13: error: not a statement
y = 7 ;
^
Main.java:13: error: illegal character: '\u0000'
y = 7 ;
^
Main.java:14: error: illegal character: '\u0000'
^
Main.java:15: error: illegal character: '\u0000'
z = 4 ;
^
Main.java:15: error: illegal character: '\u0000'
z = 4 ;
^
Main.java:15: error: illegal character: '\u0000'
z = 4 ;
^
Main.java:15: error: not a statement
z = 4 ;
^
Main.java:15: error: illegal character: '\u0000'
z = 4 ;
^
Main.java:16: error: illegal character: '\u0000'
^
Main.java:17: error: illegal character: '\u0000'
x = y + z ;
^
Main.java:17: error: illegal character: '\u0000'
x = y + z ;
^
Main.java:17: error: illegal character: '\u0000'
x = y + z ;
^
Main.java:17: error: not a statement
x = y + z ;
^
Main.java:17: error: not a statement
x = y + z ;
^
Main.java:17: error: illegal character: '\u0000'
x = y + z ;
^
Main.java:18: error: illegal character: '\u0000'
^
Main.java:19: error: illegal character: '\u0000'
S y s t e m . o u t . p r i n t l n ( " x = " + x ) ;
^
Main.java:19: error: illegal character: '\u0000'
S y s t e m . o u t . p r i n t l n ( " x = " + x ) ;
^
Main.java:19: error: not a statement
S y s t e m . o u t . p r i n t l n ( " x = " + x ) ;
^
Main.java:19: error: illegal character: '\u0000'
S y s t e m . o u t . p r i n t l n ( " x = " + x ) ;
^
Main.java:19: error: not a statement
S y s t e m . o u t . p r i n t l n ( " x = " + x ) ;
^
Main.java:19: error: illegal character: '\u0000'
S y s t e m . o u t . p r i n t l n ( " x = " + x ) ;
^
Main.java:19: error: ';' expected
S y s t e m . o u t . p r i n t l n ( " x = " + x ) ;
^
Main.java:19: error: illegal character: '\u0000'
S y s t e m . o u t . p r i n t l n ( " x = " + x ) ;
^
Main.java:19: error: illegal character: '\u0000'
S y s t e m . o u t . p r i n t l n ( " x = " + x ) ;
^
Main.java:19: error: not a statement
S y s t e m . o u t . p r i n t l n ( " x = " + x ) ;
^
Main.java:19: error: not a statement
S y s t e m . o u t . p r i n t l n ( " x = " + x ) ;
^
Main.java:19: error: ';' expected
S y s t e m . o u t . p r i n t l n ( " x = " + x ) ;
^
Main.java:19: error: illegal character: '\u0000'
S y s t e m . o u t . p r i n t l n ( " x = " + x ) ;
^
Main.java:19: error: illegal character: '\u0000'
S y s t e m . o u t . p r i n t l n ( " x = " + x ) ;
^
Main.java:20: error: illegal character: '\u0000'
^
Main.java:21: error: illegal character: '\u0000'
}
^
Main.java:21: error: illegal character: '\u0000'
}
^
Main.java:22: error: illegal character: '\u0000'
^
Main.java:23: error: illegal character: '\u0000'
}
^
Main.java:23: error: illegal character: '\u0000'
}
^
Main.java:23: error: reached end of file while parsing
}
^
78 errors
即使我删除了所有空格,也会出现 35 个错误。
我安装的 Java 版本是: Java 8 Update 60(64 位)(我有 Windows 64 位) Java SE 开发工具包 8 更新 60(64 位) 两个版本都是 8.0.600.27
为什么我无法在 CMD 上编译?是因为我使用的是 Notepad 6.3(Windows 8.1 和其他版本中包含的标准 Notepad)?
【问题讨论】:
-
您的记事本似乎将此空 (0) 字符添加到您的文件中。我建议您使用 Notepad++ 或 Sublime 等其他文本编辑器从这些字符中清除文件。
-
这看起来很可疑,就像您从某个地方复制/粘贴了这段代码,并且编码混乱了。
-
你是直接从网站上复制粘贴的吗?如果是这样,请尝试在记事本中输入。如果您想在您的计算机上编写 Java,我建议您安装一个 IDE,例如 NetBeans。
-
下载一个现代的 IDE,比如 Eclipse 或 NetBeans...它会让你的生活轻松 1000 倍。
标签: java cmd compilation