Java在dos命令提示行编译与执行,编译能通过,但执行通过不了

韬博 2014-06-24 11:37:02
//搭建流水线


文件一:
import java.util.*;
public class InputScore{
DelScore b;
InputScore(DelScore b)
{
this.b=b;
}
public void inputScore() //输入各评委的分数
{
int pw;
System.out.print("请输入评委数:");
Scanner reader=new Scanner(System.in);
pw=reader.nextInt();
//System.out.println(pw);
System.out.println("请输入各评委的分数:");
double arr[]=new double[pw];
for(int i=0;i<pw;i++)
{
arr[i]=reader.nextDouble();
}
b.delScore(arr);
}
}



文件二:
public class DelScore{
ComputerAver c;
DelScore(ComputerAver c)
{
this.c=c;
}
public void delScore(double arr[]) //删除最高分和最低分
{
java.util.Arrays.sort(arr); //将数组array的元素从大到小的顺序排序
System.out.println("删除的最高分:"+arr[arr.length-1]);
System.out.println("删除的最低分:"+arr[0]);
double arra[]=new double[arr.length-2];
for(int i=0;i<arra.length;i++)
{
arra[i]=arr[i+1];
}
c.computerAver(arra);
}
}
文件三:
public class ComputerAver{
public void computerAver(double arra[])
{
double sum=0;
double aver;
for(int i=0;i<arra.length;i++)
{
sum=sum+arra[i];
}
aver=sum/arra.length;
System.out.println("该选手的最后得分为:"+aver);
}
}

文件四:
public class Line{
ComputerAver three=new ComputerAver();
DelScore two=new DelScore(three);
InputScore one=new InputScore(two);
public void givePersonScore()
{
one.inputScore() ;
}
}


文件5:

public class SingGame{
public static void main(String [] args)
{
Line line=new Line();
line.givePersonScore();
}
}


问题描述: 该程序在编译 javac SingGame.java 能通过,但在执行java SingGame 时报错:
错误如下:
A:\第四章实验\搭建流水线> javac SingGame.java

A:\第四章实验\搭建流水线>java SingGame
Exception in thread "main" java.lang.NoClassDefFoundError: ComputerAver // ComputerAver 估计错在这
at Line.<init>(Line.java:2)
at SingGame.main(SingGame.java:4)
Caused by: java.lang.ClassNotFoundException: ComputerAver
at java.net.URLClassLoader$1.run(URLClassLoader.java:372)
at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:360)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 2 more



我运行其他程序没有错误,但运行这个程序报这样的错误,网上说什么环境变量的设置搞错了,我看了也基本没有搞错!求大神给出详细的解答,小弟学Java不精!在此深表感谢!
...全文
139 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
hhmax 2014-06-25
  • 打赏
  • 举报
回复

你的局部变量没有赋值,局部便量 是不允许和成员变量一样。必须使pw=0;
computerclass 2014-06-25
  • 打赏
  • 举报
回复
SingGame.java:4 是不是第四行有问题?
evangelionxb 2014-06-25
  • 打赏
  • 举报
回复



java SingGame -classpath %YOUR_CLASS_PATH% 

youngsenray 2014-06-25
  • 打赏
  • 举报
回复
一般這種情況是沒有正確生成class,Project--〉clean,然後再勾選build automatically,如果還是不行的話就看一看引用的包有沒有缺失,一個臨時的解決方案是window-〉preferences-〉java-〉Compiler-〉Building ,把incomplete build path 變爲 warning
ZHOU西口 2014-06-25
  • 打赏
  • 举报
回复
Caused by: java.lang.ClassNotFoundException: ComputerAver,这个没生成class文件。

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧