java - 当我尝试运行 java 代码时,无法找到或加载主类

标签 java intellij-idea

所以,我在intellij idea中运行我的java代码,然后我得到了 following error.

然后我尝试将 java SDK 从 v.12 更改为 v.11,其他工作正常的项目输出相同的结果。

这是我正在尝试运行的代码。 Deitel How To Program Java 中的示例。

package ConcurrentProgramming.ParallelAndNonParallel;

import java.security.SecureRandom;
import java.text.NumberFormat;
import java.time.Duration;
import java.time.Instant;
import java.util.Arrays;

public class SortComparison {
    public static void main(String[] args) {

        SecureRandom random = new SecureRandom();

        int[] array1 = random.ints(15_000_000).toArray();
        int[] array2 = new int[array1.length];

        System.arraycopy(array1, 0, array2, 0, array1.length);

        System.out.println("Starting sort");
        Instant sortStart = Instant.now();
        Arrays.sort(array1);
        Instant sortEnd = Instant.now();

        long sortTime = Duration.between(sortStart, sortEnd).toMillis();
        System.out.printf("Total time in milliseconds: %d%n%n", sortTime);

        System.out.println("Starting parallelSort");
        Instant parallelSortStart = Instant.now();
        Arrays.parallelSort(array2);
        Instant parallelSortEnd = Instant.now();

        long parallelSortTime =
                Duration.between(parallelSortStart, parallelSortEnd).toMillis();
        System.out.printf("Total time in milliseconds: %d%n%n",
                parallelSortTime);

        String percentage = NumberFormat.getPercentInstance().format(
                (double) sortTime / parallelSortTime);
        System.out.printf("\nsort took %s more time than parallelSort%n",
                percentage);

    }
}

这是我的 directory

最佳答案

代码未编译或不在类路径中。我不是 IntelliJ 用户,所以我无法根据您提供的内容告诉您具体是什么。

检查该类是否正在编译 - 您应该在此处看到它(假设 out 目录是 IntelliJ 放置类的位置):

LearningJava\out\ConcurrentProgramming\ParallelAndNonParallel\SortComparison.class

如果它不存在,那么这是 IntelliJ 未编译类或构建项目的问题。

如果存在,请尝试直接从命令行运行它:

java -cp <path-to-out> ConcurrentProgramming.ParallelAndNonParallel.SortComparison

如果有效,则说明 IntelliJ 设置正确的类路径存在问题。

关于java - 当我尝试运行 java 代码时,无法找到或加载主类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58026634/

相关文章:

java - 无法在 Java 上输入所需的名称

javascript - 使用 IntelliJ IDEA for JavaScript 的最佳插件和项目?

Java 无法在 JAR 中找到类

intellij-idea - 从其他模块访问类

java - 智能 : Automatic creation of ear artifact from gradle project

java - (Java) 刷新到磁盘的 N 列表排列

java - Firebase Recyclerview 不显示数据

java - 每次应用程序来自 android 中的后台时启动第一个屏幕

java - URL.getInputStream() 导致 java.security.cert.CertificateException : No subject alternative DNS name

java - 如何用 Java 编写 JUnit 测试,检查一个特定的打印,该打印依赖于循环中的用户输入