报错 咋办
Exception in thread "main" java.lang.UnsupportedClassVersionError: net/cnns/Homework has been compiled by a more recent version of the Java Runtime (class file version 54.0), this version of the Java Runtime only recognizes class file versions up to 52.0
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:763)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:467)
at java.net.URLClassLoader.access$100(URLClassLoader.java:73)
at java.net.URLClassLoader$1.run(URLClassLoader.java:368)
at java.net.URLClassLoader$1.run(URLClassLoader.java:362)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:361)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:495)
正在回答
问题原因:可能是在较低版本的JVM上运行较高版本的JDK编译的java class文件产生的错误。
解决办法:右击项目-->properties-->java compiler --> Enable project specific settings -->将compiler compliance level设置为与jvm一致的版本(jvm在命令行中java -version所显示的版本)
import java.util.Scanner; public class Homework { // 插入数据 public int[] insertDate() { int[] array = new int[10]; int test; Scanner scan = new Scanner(System.in); // 循环插入数据 for (int i = 0; i <= 8; i++) { System.out.println("插入第" + (i + 1) + "位数字"); test = scan.nextInt(); if (test == 0) { System.out.println("输入的数据不能为零,请重新输入"); i--; continue; } else { array[i] = test; } } scan.close(); System.out.println("数据为:"); for (int o:array) { System.out.print(array[o]+" "); } return array; } // 显示所有数据 public void showDate(int[] a, int length) { int[] array = null; Homework b=new Homework(); array=b.insertDate(); System.out.println("数据为:"); for (int o:array) { System.out.print(array[o]+" "); } } // 指定位置插入数据 public void insertAtArray(int[] a, int n, int k) { } // 能被3整除的数据 public void divThree(int[] a) { } // 提示信息 public void notice() { System.out.println("*****************************"); System.out.println("1--插入数据"); System.out.println("2--显示所有数据"); System.out.println("3--在指定位置插入数据"); System.out.println("4--查询能被3整除的所有数据"); System.out.println("0--退出"); System.out.println("*****************************"); System.out.println("请输入对应的数字进行操作:"); } // 主方法 public static void main(String[] args) { int[] array = null; Scanner scan2 = new Scanner(System.in); Homework method = new Homework(); do { method.notice(); // 输入数字,选择功能 String n = scan2.next(); switch (n) { case "1": array = method.insertDate(); break; case "2": method.showDate(null, 0); // break; // case "3": // method.insertAtArray(int[] a, int n, int k); // break; // case "4": // method.divThree(int[] a); // break; case "0": System.out.println("退出程序"); System.exit(0); default: System.out.println("输入错误。"); } } while (1 == 1); } }
- 参与学习 人
- 提交作业 7317 份
- 解答问题 14452 个
想要入门学编程?多年一直活跃在编程语言排行版前列的Java是一个很好的选择。本路径将从Java基础语法、面向对象、常用工具类三部分,为你开启软件开发的大门!
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星