所以,我在intellij idea中运行我的java代码,然后出现以下 错误。然后我尝试将 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); }}
1 回答
犯罪嫌疑人X
TA贡献2080条经验 获得超4个赞
代码要么未编译,要么不在类路径上。我不是 IntelliJ 用户,所以我无法根据您提供的内容告诉您具体是什么。
检查该类是否正在编译 - 您应该在此处看到它(假设 out 目录是 IntelliJ 放置类的位置):
LearningJava\out\ConcurrentProgramming\ParallelAndNonParallel\SortComparison.class
如果它不存在,那么这是 IntelliJ 未编译类或构建项目的问题。
如果存在,请尝试直接从命令行运行它:
java -cp <path-to-out> ConcurrentProgramming.ParallelAndNonParallel.SortComparison
如果有效,则说明 IntelliJ 设置正确的类路径存在问题。
添加回答
举报
0/150
提交
取消