java程序,一个文件两个类,编译成功,但运行不成功,出现如下提示,请帮助解决

源程序:
public class PubTest{ float fvar1,fvar2; int ivar1; public float sum() { fvar2=fvar1+ivar1; return fvar2; } public void print() {System.out.println("fvar2="+fvar2); } public void setIvar1(int ivalue) { ivar1=ivalue; } public void setFvar1(float fvalue) { fvar1=fvalue; }}class PubMain{ public static void main(){ PubTest a1=new PubTest(); a1.setIvar1(10); a1.setFvar1(100.02f); a1.sum(); a1.print();}}

最大的问题,java是区分大小写的,所以你应该写成:java PubTest。还有你的main函数应该放在public 的那class中,既放到PubTest中,否则找不到入口。你非要分开的话,你可以的PubTest中加入这段:
public static void main(String[] args){
PubMain.main();
}

其次main()应该有参数的
温馨提示:内容为网友见解,仅供参考
第1个回答  2013-06-03
一个Java文件中允许出现多个class, 但是只能有一个class能用public来修饰, 如果中间有main主方法的话, 那么这个主方法只能写在public 修饰的class中, 编译和运行的时候是public 的class
第2个回答  2013-06-03
java程序中有多个类时,包含main方法中的类是主类,即主类的名字是PubMain,所以你编译时应该执行F:\java>java PubMain,试试看
第3个回答  2013-06-03
public static void main(String[] args) 在public类中,你 的main函数中调了“String[] args”………………
第4个回答  2013-06-03
可能是CLASSPATH设置错误,去掉这个环境变量。

java 程序能够编译成功,但是不能运行,提示错误
java.lang.NoClassDefFoundError:当 Java 虚拟机或 ClassLoader 实例试图在类的定义中加载(作为通常方法调用的一部分或者作为使用 new 表达式创建的新实例的一部分),但无法找到该类的定义时,抛出此异常。当前执行的类被编译时,所搜索的类定义存在,但无法再找到该定义。检查拼写 ...

运行Java时,编译成功了,但是一直运行不了,求大神帮忙啊╮(╯﹏╰)╭...
第一:去查下代码,看下代码是不是写得有问题,虽然说你编译没错,但编译没错不一定代码就没问题 第二:看下你的java环境变量是否设置得有问题,你可以这样测试,一种就是java javac 运行测试是否出现正常数据,二是把在确定你代码没问题的情况下,编译运行时加上包路径或者进到你编译文件所在的路径在运行...

JAVA程序设计 编译没错误 不可以运行,请高手指点一下
Java程序需要有一个主程序才能运行的,你的这个类中并没有定义主程序,所以编译成功,但是运行不了,IDE找不到你的main方法。在你的类中定义一个 public static void main(String[] args){ Database db = new Database ();db. OpenConn();String sql = "xxxx";\/\/此处根据你的需要写出相应...

Java程序编译通过,为什么运行有误?
编译通过说明的是你的程序语法没有问题,运行时报出的异常称之为运行时异常(RunTimeException),例如最常见的空指针异常。 针对你的问题,可以确定是JDK的版本问题造成的。

java编译成功,但是不能运行,怎么回事。
出现Could not find the main class.program will exit和java.lang.UnsupportedClassVersionError 错误的原因,是因为我们使用高版本的JDK编译的Java class文件试图在较低版本的JVM上运行,所报的错误。因为,高版本的JDK生成的class文件使用的格式,可能与低版本的JDK的.class文件格式不同。这样,低版本的...

java编译通过,为什么运行却提示找不到或无法加载主类
1、在classpath的最前面要加一个本目录路径,用.表示,由于后面还有java的dt和tools两个路径,所以.后要加;进行分隔表示。2、更为重要的是,在cmd下运行javac 和java的时候,必须在该java文件的目录下运行,这样生成的class也在该目录下,java的时候也会第一个就在本目录下找class文件,就不 会提示...

Java程序可编译,但是运行出错,该怎么解决?
重新设置一下环境变量吧,如下:你需要自己修改一下对应的目录即可:classpath .;E:\\Java\\jdk1.6.0_11\\lib\\dt.jar;E:\\Java\\jdk1.6.0_11\\lib\\tools.jar JAVA_HOME E:\\Java\\jdk1.6.0_11 Path ;E:\\Java\\jdk1.6.0_11\\bin;tomcat_home E:\\Java\\Apache Tomcat 6.0.18 ...

java编译成功了为什么不能运行。运行时提示‘错误:找不到或无法加载主...
编译成功只是说明没有语法错误而已。应该是你没有入口函数吧。public static void main(String args[]) {}这个东东。

java 编译通过,但是在运行时候提示出错。代码如下:
import javax.crypto.Cipher;import javax.crypto.KeyGenerator;public class PrivateExample { public static void main(String args[]) throws Exception { if (args.length != 1) { System.err.println("Usage:java PrivateExample text");System.exit(1);} byte[] plainText = args[0].getBytes...

JAVA程序,在同一个包下有2个类A,B,可运行时错误:A cannot be resolved...
pack simple.pack2;import simple.pack1.A;public class testA{ public static void main(String[] args){ A a = new A( );} } 步骤二:使用javac命令编译源文件,分别在simple.pack1和simple.pack2中生成两个.class文件。说明:1。若不想设置环境变量,则编译和运行都必须在源文件所在根目录...

相似回答