eclipse运行程序找不到主类

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了eclipse运行程序找不到主类相关的知识,希望对你有一定的参考价值。

跪求大神,新手用eclipse程序运行不了,显示找不到或无法加载主类。
下面小弟把程序贴出来:

package PrimeCouples;

import java.util.Scanner;

public class Prime

public boolean judgePrime(int a)
boolean result=true;
for(int i =1;i<=a/2;i++)
if (a%i==0)
result=false;
else
result=true;

return result;


public void main(String[] args)
Scanner s = new Scanner(System.in);
System.out.println("请输入一个整数,测试它是否是素数");
int mid=s.nextInt();
boolean result=judgePrime(mid);
if(result==true)
System.out.println("Yes it is");
else
System.out.println("No it is not");




JDK JRE已经安装,系统变量设置完毕,在DOS窗口下输入java -version可以出来版本等信息,javac命令也可以使用。
eclipse中点击run as的时候只出现了run configurations, 并没有java application,不知道怎么配置,也不知道到底是哪里出现问题。
跪求大神,已经困扰了好久了!!!

public static void main(String[] args)

不用那么复杂,在此文件的编辑窗口,按CTRL+F11 即运行
参考技术A public static void main(String[] args)追问

成了,需要把jdgePrime和main都写成静态的才行。能不能请老兄大概解释一下为什么啊

追答

main()方法前加static 是因为它是程序的入口要和主类一起加载。
jdgePrime()前加static后 就可以在此类的其他方法中直接调用该方法 ; 也可以不加 static 只是需要创建一个该类对象 然后再用这个对象调用此方法

如将 boolean result=judgePrime(mid);
改为 boolean result=new Prime().judgePrime(mid);

本回答被提问者采纳

在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权限才可以追问

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

追答

你可以上机试一试。

以上是关于eclipse运行程序找不到主类的主要内容,如果未能解决你的问题,请参考以下文章

eclipse 错误;找不到或无法加载主类

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

Spring Boot 程序找不到主类

Java 找不到主类错误

编译和运行java文件 找不到或无法加载主类

java无法找到或加载主类