在eclipse中运行错误,找不到或无法加载主类,环境变量没有错

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在eclipse中运行错误,找不到或无法加载主类,环境变量没有错相关的知识,希望对你有一定的参考价值。

这是程序,就定义一个三角形类
import java.awt.Point;import java.lang.Math;class Triangle private Point point1; private Point point2; private Point point3; public Triangle(Point a,Point b,Point c) point1=a; point2=b; point3=c; public double area() double a,b,c; a=point1.distance(point2); b=point1.distance(point3); c=point3.distance(point3); double s=(a+b+c)/2; return (Math.sqrt(s*(s-a)*(s-b)*(s-c)));
public class TestTriangle public static void main (String[] args) Point a=new Point(3,5); Point b=new Point(10,8); Point c=new Point(20,36); Triangle t=new Triangle(a,b,c); System.out.println("the area of the triangle is"+t.area()); double s=(2.5+3.5+4)/2; double area=Math.sqrt(s*(s-2.5)*(s-3.5)*(s-4)); System.out.println("the area of the given triangle(3.5,2.5,5) is"+area);
其他程序运行的时候都没有错,就这个出错了,改了半天也不对
这是环境变量:
classpath: .;C:\Program Files(x86)\Java\jdk1.7.0\lib;
JAVA_HOME:C:\Program Files (x86)\Java\jdk1.7.0
Path:C:\Program Files(x86)\Java\jdk1.7.0\bin;%java_home%\jre\bin;
现在程序能运行了,但是结果有问题了

运行到 Triangle t=new Triangle(a,b,c);变成这样了

希望各位大神看看,本人刚接触java菜鸟一个,一个小程序都3天没对了

参考技术A 你可以看看classpath,path,java_home 到底是干啥的,其实你只需要配置一个path,就够了,
你的path中的 C:\Program Files(x86)\Java\jdk1.7.0\bin;和 %java_home%\jre\bin; 重复了,
建议最好 把 %java_home%\jre\bin; 去掉;
另外还是给你说说 path 是 你编写的程序运行时,电脑回去你的 path变量找到 你的jdk所在的位置
classPath 是 你编写完程序,编译的时候,电脑找你编写的程序所在的位置

另外 你的程序 我试过 可以运行,如果你觉得你的结果不对,那可能就是你的 业务逻辑出现问题
参考技术B 你运行的都不是这个类TestTriangle

右键选中这个文件, run --> run as application追问

运行成功了,可是结果有问题了

运行到 Triangle t=new Triangle(a,b,c);
就变成这样了

刚接触java,菜鸟一个,麻烦帮忙看看吧,谢谢

追答

那个估计都不是你这个程序的错误吧

你的程序已经完整运行了

追问

那为什么第一行输出没有数字呢,nan不是代表有错误了么

本回答被提问者和网友采纳
参考技术C c=point3.distance(point3); 不知道这是不是你的原意,这个为0,导致计算s-c为负数,计算
Math.sqrt(s*(s-a)*(s-b)*(s-c))的时候出错。
参考技术D 你这.java的文件名是什么?追问

TestTriangle.java

追答

Eclipse上可不是这么说啊,那行小字是Triangle.TestTriangle,主类是Triangle。我估计是中间你曾改动过文件名等,把Eclipse给搞糊涂了。用Project/clean...清空了重新编译一遍吧。

第5个回答  2012-08-31 要将Triangle类声明为private权限才可以追问

默认权限不可以么?老师上课的课件都是默认的

追答

你可以上机试一试。

运行java文件显示找不到或无法加载主类怎么解决?

当我在eclipse中直接运行某个java文件时,能正常运行,当我按照你的步骤执行maven build后,导出的jar包运行之后显示找不到或无法加载主类,eclipse中直接运行它,也显示同样的错误,当我用maven update project之后,又可以直接运行了,执行maven build后,在eclipse中执行这个文件又显示找不到主类,请问有人知道是哪出了问题吗?

clean 重新build 或者让clean package 用maven打包,如果复杂点是第三方jar找不到 ,可能是未下载或未下载完全,具体分析,可以采纳私聊 参考技术A maven的项目运行一般就要maven命令
否则你需要在pom里定义入口类、打包方式等

以上是关于在eclipse中运行错误,找不到或无法加载主类,环境变量没有错的主要内容,如果未能解决你的问题,请参考以下文章

Eclipse 找不到或无法加载主类

eclipse运行HelloWorld程序,显示 错误:找不到或无法加载主类

运行java文件显示找不到或无法加载主类怎么解决?

spring boot错误: 找不到或无法加载主类

错误: 找不到或无法加载主类 ArrayListMagnet?

如何解决Eclipse下“找不到或无法加载主类”的错误