javac编译能成功 但用Java就是运行不了这是为什么?

关注:195  答案:4  手机版

解决时间 2021-02-11 12:37

提问者神经质

2021-02-11 07:24

每次运行总是提示Exception in thread "main" java.lang.NOClassDefFoundError

这是源文件:import java.applet.Applet;

import java.awt.Graphics;
public class HelloWorld extends Applet {
public void paint(Graphics g) {
g.drawString("Hello world!", 50, 25);
}
}

用Java运行时也加空格了,后缀也没加。是在搞不懂啊.环境变量我是设在用户里的,以上的代码是从网上下载的就想试一试的 能编译生成class文件 就是运行不了 求高人啊

最佳答案

二级知识专家白胡子大佬

2021-02-11 08:27

你好,java applet小程序是不能直接用java xxx这种命令运行的。

运行方式如下:

比如你文件叫HelloWorld .java

编译为HelloWorld .class

写一个html叫HelloWorld .html

内容为

code="HelloWorld .class"

width="200"

height="200"

然后在命令行方式进入上述文件所在文件夹

打命令appletviewer HelloWorld .html 运行即可

还不会可以联系我

全部回答

1楼神經兮兮

2021-02-11 11:03

applet要嵌入到网页中才能运行,给你两种方法:

首先,编译运行applet程序的步骤,以你的为例

javac HelloWorld.java // 编译过程

编译完成后会出现HelloWorld.class文件

然后,你要新建一个html(或者htm)格式的网页,比如最简单的把下面给的代码保存到一个txt文件,然后更改格式为HelloWorld.html就可以了

注意这个网页要保证跟你生成的HelloWorld.class文件在同一个目录下

最后你有两种方法运行

1.直接双击网页运行

2.命令行中appletviewer HelloWorld.html // 运行

一定要注意的是这里要讲html文件和.class文件放到同一个目录下

祝好:)

楼上只给出了一种方法其实双击运行网页也是不错的选择哇

哈哈哈

2楼噯倁酒濃

2021-02-11 10:33

这个是applet程序,不是main函数的,编译后不能使用java命令运行,应该是用appletviewer 来运行Applet ;

你需要建立一个html文件来运行小程序

如下

A Simple Program



保存为 AppletHelloWorld.html

必须保证其与

HelloWorld.java

HelloWorld.class

这两个文件在同一个文件夹下

然后输入命令:

appletviewer AppletHelloWorld.html

3楼你的幸福"关我啥事

2021-02-11 10:03

《算法与程序设计》一书中第26页提到程序的主类,在这里,程序是指java application。

java的源文件(.java)中可以有多个类(class),但至多只能有一个类可以使用public来声明,当然也可以没有。这些类经过编译后,每个类都将生成一个类文件(.class),这些类存放在同一文件夹中。

当java的源文件中没有使用public来声明的类时,源文件的文件名可以任意取。

当java的源文件中有使用public来声明的类时,源文件的文件名必须与该类名完全一致(包括大小写)。

如果这个使用public来声明的类中包含使用public static void声明的main()方法时(程序从此开始执行),习惯上我们把这个类被称为主类。