Hallo, ich versuche programmieren zu lernen. ich möchte das heron-verfahren programmieren:
public class Heron {
public static void main (String[] args) {
double a = 5.0,
x = 1.0,
y;
for (int i = 1; i ⇐ 7; i++) {
y = (x + a / x) / 2.0;
x = y;
System.out.println(x);
}
}
}
Mit javac kompiliere ich das programm erfolgreich aber wenn ich es ausführen möchte also java Heron, dann bekomme ich folgende meldung:
Exception in thread "main" java.lang.UnsupportedClassVersionError: Heron (Unsupported major.minor version 50.0)
at java.lang.ClassLoader.defineClass0(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:539)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:123)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:251)
at java.net.URLClassLoader.access$100(URLClassLoader.java:55)
at java.net.URLClassLoader$1.run(URLClassLoader.java:194)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:187)
at java.lang.ClassLoader.loadClass(ClassLoader.java:289)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:274)
at java.lang.ClassLoader.loadClass(ClassLoader.java:235)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:302)
Ich weiß nicht was mir fehlt. mein betriebssystem ist xubuntu
kann mir jemand helfen? vielen dank schonmal
Problem mit Java
Anmeldungsdatum: Beiträge: Zähle... |
|
![]() Anmeldungsdatum: Beiträge: 1238 |
Ich habe das gerade mal bei mir ausprobiert und es geht: ~$ java Heron 3.0 2.3333333333333335 2.238095238095238 2.2360688956433634 2.236067977499978 2.23606797749979 2.23606797749979 $ java -version java version "1.6.0_03" Java(TM) SE Runtime Environment (build 1.6.0_03-b05) Java HotSpot(TM) Client VM (build 1.6.0_03-b05, mixed mode, sharing) |
Anmeldungsdatum: Beiträge: 379 |
wahrscheinlich mit javac von sun kompiliert und dann mit dem gnu interpreter oder java 1.4 ausgeführt. |
Anmeldungsdatum: Beiträge: Zähle... Wohnort: Kirchheim b. München |
Compiliert wurde die Klasse mit Sun's JDK 1.6 (oder der Version 7 mit der Option -target 1.6), da 1.6 den Bytecode mit der Version 50.0 versieht. Ausgeführt wurde das Programm allerdings nicht mit dem gcj, da man im Stack Trace z. B. die Zeile "at sun.misc.Launcher$AppClassLoader.loadClass... " erkennen kann, also ein Sun-Package verwendet wurde. Ausgeführt wurde das Programm auf der Kommandozeile demnach mit einer älteren JRE oder einem älteren JDK von Sun (älter als 1.6, also z. B. 1.5 oder 1.4.2). Das Kommando javac (oder die Entwicklungsumgebung die Maduser benutzt) ist aber von 1.6. Also, entweder ein älteres target für den Compiler einstellen oder für die Ausführung ebenfalls 1.6 benutzen. 8) |