java含包语句的小程序,怎么编译出现class or interface expected?

来源:百度知道 编辑:UC知道 时间:2024/09/25 03:28:42
我是按照书上打的,程序绝对没打错呀:
package tom.jiafei;
public class PrimNumber
{ public void getPrimnumber(int n)
{ int sum=0,i,j;
for(i=1;i<=n;i++)
{ for (j=2;j<=i/2;j++)
{ if (i%j==0)
break;
}
if (j>i/2)
System.out.print(" "+i);
}
}
public static void main(String args[])
{ PrimNumber p=new PrimNumber();
p.getPrimnuber(20);
}
}

我设立了一个文件夹:F:\java\tom\jiafei
我是在记事本写的这个程序,把这个程序存为PrimNumber.java
然后在DOS下编译:
F:\java\tom\jiafei>javac PrimNumber.java
电脑输出的是
PrimNumber.java:1:'class'or'interface'expected
Package tom.jiafei;
1 error

请问是怎么回事呢?程序明明是一点不差照教材写的。

程序我刚才用eclipse试了,没有问题。这里有个笔误p.getPrimnuber(20);

调用的时候方法名写错了吧。

class'or'interface'expected ,他的意思是说找不到这个类。

要么是你进的目录不对,确保那个文件夹下有那个java文件,注意如果你是用txt编写的,别忘记了吧扩展名改回 .java

要么就是你把类名打错了,仔细检查一下,应该很快能找出来。要是不行的话,吧那个java文件放在f盘根目录下再试试

你到 f:/java 下面
运行

java -cp . tom/jiafei/PrimNumber.java

看看,注意 -cp 后面的空格,还有一个点