A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© sun~~ 中级黑马   /  2012-8-22 21:07  /  1833 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

这是源程序
package forDemo;
import java.util.Scanner;
public class forDemo {
/**
  * @param args
  */
public static void main(String[] args) {
  // TODO Auto-generated method stub
  int score;
  int sum=0;
  double avg =0.0;
  Scanner  input =new Scanner(System.in);
  System.out.println("请输入姓名:···");
  String name =input.next();
  for (int i = 0; i < 5; i++) {
   System.out.println("请输入5门功课的成绩"+(i+1)+"门课的成绩");
   score = input.nextInt();
   sum = sum + score;
  }
  avg = sum/5;
  System.out.println(name +"的平均分是:"+avg);
}
}

forDemo.png (13.47 KB, 下载次数: 24)

程序运行不了

程序运行不了

5 个回复

倒序浏览
程序的话我再Myeclipse中运行没问题,那就说明你环境变量或者classpath配置的有问题,楼主再看看配置吧
回复 使用道具 举报
你定义的类名是forDemo ,编译后得到的应该是 forDemo .class文件,但是你解释翻译了一个java  forDemo1文件,在你的目录下没有这个文件,所以会报上述错误!你试试java forDemo或者更改一下类名,应该就可以啦!

点评

此君解答想必应是正解了  发表于 2012-8-22 22:37
回复 使用道具 举报
你定义的类名是forDemo,编译成功后应该直接java  forDemo
回复 使用道具 举报
你的类是带着包名的:package forDemo;
在当前目录下你编译的命令应该如下:javac -d . forDemo.java
这样编译完后你当前目录下会生成一个目录forDemo,并且其中会有一个forDemo.class文件(编译生成的)。
这时运行需要如下命令:java forDemo.forDemo
搞定。你从myeclipse中拷出来的类是带着package语句的。cmd下用普通方式编译能通过但是无法运行的。。

点评

应该是正解吧 楼主的类文件放在了forDemo文件 编译时应该 javac -d 类文件目录 forDemo.java 运行时命令应该是 java forDemo.forDemo  发表于 2012-8-24 02:59
回复 使用道具 举报
本帖最后由 应广驰 于 2012-8-22 23:45 编辑

根据异常提示java.lang.NoClassDefFoundError<wrong name:forDemo/forDemo1>应该是你的类名定义的不正确,java中如果一个源文件有主程序,那么主程序类名必须和文件名一致,可能你应该定义文件名是forDemo1.java,但是在forDemo1.java中没有forDemo1类,你的主程序是forDemo 类,所以报错了。

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马