有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

Java包

这是我第一次在Java中使用软件包,我不确定哪里出了问题。我想做一个俄罗斯方块游戏。以下是我的部分代码:

package mytetris;

import javax.swing.*;
import java.awt.*;

public class Tetris extends JFrame {

    // class constructor
    public Tetris() {
        super("Tetris");
        this.setSize(400, 600);
        this.setDefaultCloseOperation(EXIT_ON_CLOSE);

        // just started, haven't really done anything

        this.setVisible(true);
    }

    public static void main(String[] args) {
        Tetris myTetris = new Tetris();
    }
}

然后我用javac Tetris.java编译它,然后我试着用java Tetris运行它,这是终端给我的:

Exception in thread "main" java.lang.NoClassDefFoundError: Tetris (wrong name: mytetris/Tetris)
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClassCond(ClassLoader.java:637)
    at java.lang.ClassLoader.defineClass(ClassLoader.java:621)
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
    at java.net.URLClassLoader.defineClass(URLClassLoader.java:283)
    at java.net.URLClassLoader.access$000(URLClassLoader.java:58)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:197)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:247)

共 (2) 个答案

  1. # 1 楼答案

    我想你应该称之为

    java mytetris.Tetris
    
  2. # 2 楼答案

    此错误是因为程序中提到的类不是由类装入器中的JVM生成的。这个错误有多种原因。 检查这里的详细概念https://te-xplore-ch.blogspot.com/2020/08/java-architecture.html 可能是您的包未添加到源文件夹中。 单击文件夹的生成路径,然后单击用作源文件夹