(Intel Mac OS 10.4.11、NetBeans IDE 6.8、SoyLatte 1.0.3)
私は現在 Java の大学のコースを受講しており、私のコードは Java の教科書からのいくつかの問題に基づいていますが、これが宿題ではないことを完全に明確にしたいと思います。これは学習目的で自己割り当てされたものであり、私の教授はおそらくこれを見ることはなく、採点することはありません. とにかく、キャンパス内の Vista マシンでこのプログラムを実行しても問題はなかったので、これは構成関連の問題であると思われます。私が正しいとすれば、この問題を解決するために「回答」コードを受け取る必要がないため、このコミュニティのポリシーに問題はないはずです。
NetBeans では、私のプログラムはコンパイルされて正常に動作しますが、実行時エラーがいくつか発生します。ここで何が起こっているのでしょうか?
これが私のコードです:
import java.util.Scanner; // Needed for console input.
import javax.swing.JOptionPane; // Needed for dialog boxes.
/**
This program performs the actions requested in questions 2.35 and 2.36 in the textbook.
* @author Dan
*/
public class Pages98To99 {
public static void main(String[]args){
// Asks the user for what answer he/she wants to see.
System.out.println("Do you want to see the answer to 2.35 or 2.36?");
Scanner keyboard = new Scanner(System.in); // Creates a scanner object.
double answer = keyboard.nextDouble();
if (answer == 2.35){
//2.35
JOptionPane.showMessageDialog(null, "Greetings Earthling.");
JOptionPane.showInputDialog("Enter a number.");}
else if (answer == 2.36){
//2.36
String str = JOptionPane.showInputDialog("Please enter your age.");
// Gets age.
int age = Integer.parseInt(str);} /* Converts age from a string to an
integer.*/
else
JOptionPane.showMessageDialog(null, "Go to another program.");
System.exit(0); // Ends the program
}
}
以下は、NetBeans によって生成される実行時エラーです。
2010-02-15 21:23:54.659 java[3891] CFLog (0): CFMessagePort: bootstrap_register(): failed 1103 (0x44f), port = 0xf203, name = 'java.ServiceProvider' See /usr/include/servers/bootstrap_defs.h for the error codes. 2010-02-15 21:23:54.660 java[3891] CFLog (99): CFMessagePortCreateLocal(): failed to name Mach port (java.ServiceProvider)
以下は、SoyLatte 提供の新しいバージョンの JDK ( http://landonf.bikemonkey.org/static/soylatte/、ダイアログ ボックスの生成に失敗する) と、Apple が提供する古いバージョンの両方を使用したトラブルシューティング ターミナル セッションです。私のOSの一部として(それ以外の場合はNetBeansのようにうまく動作します)。
Last login: Sat Feb 20 00:12:55 on ttyp1
Welcome to Darwin!
Dans-MacBook:~ Dan$ cd /Volumes/Lexar/NetBeansProjects/MacBook-Made/test/;echo $PATH;java -version;javac -version;javac Pages98To99.java;java Pages98To99;PATH=/sw/bin:/sw/sbin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/X11R6/bin;java -version;javac -version;javac Pages98To99.java;java Pages98To99
/sw/bin:/sw/sbin:/Applications/soylatte16-i386-1.0.3/bin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/X11R6/bin
java version "1.6.0_03-p3"
Java(TM) SE Runtime Environment (build 1.6.0_03-p3-landonf_19_aug_2008_14_55-b00)
Java HotSpot(TM) Server VM (build 1.6.0_03-p3-landonf_19_aug_2008_14_55-b00, mixed mode)
javac 1.6.0_03-p3
Do you want to see the answer to 2.35 or 2.36?
0
Exception in thread "main" java.lang.NoClassDefFoundError: Could not initialize class sun.awt.X11GraphicsEnvironment
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:169)
at java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment(GraphicsEnvironment.java:68)
at sun.awt.X11.XToolkit.(XToolkit.java:89)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:169)
at java.awt.Toolkit$2.run(Toolkit.java:836)
at java.security.AccessController.doPrivileged(Native Method)
at java.awt.Toolkit.getDefaultToolkit(Toolkit.java:828)
at sun.swing.SwingUtilities2$AATextInfo.getAATextInfo(SwingUtilities2.java:120)
at javax.swing.plaf.metal.MetalLookAndFeel.initComponentDefaults(MetalLookAndFeel.java:1556)
at javax.swing.plaf.basic.BasicLookAndFeel.getDefaults(BasicLookAndFeel.java:130)
at javax.swing.plaf.metal.MetalLookAndFeel.getDefaults(MetalLookAndFeel.java:1591)
at javax.swing.UIManager.setLookAndFeel(UIManager.java:537)
at javax.swing.UIManager.setLookAndFeel(UIManager.java:577)
at javax.swing.UIManager.initializeDefaultLAF(UIManager.java:1331)
at javax.swing.UIManager.initialize(UIManager.java:1418)
at javax.swing.UIManager.maybeInitialize(UIManager.java:1406)
at javax.swing.UIManager.getDefaults(UIManager.java:656)
at javax.swing.UIManager.getString(UIManager.java:802)
at javax.swing.UIManager.getString(UIManager.java:819)
at javax.swing.JOptionPane.showMessageDialog(JOptionPane.java:592)
at Pages98To99.main(Pages98To99.java:29)
java version "1.5.0_19"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_19-b02-306)
Java HotSpot(TM) Client VM (build 1.5.0_19-138, mixed mode, sharing)
javac 1.5.0_19
javac: no source files
Usage: javac
where possible options include:
-g Generate all debugging info
-g:none Generate no debugging info
-g:{lines,vars,source} Generate only some debugging info
-nowarn Generate no warnings
-verbose Output messages about what the compiler is doing
-deprecation Output source locations where deprecated APIs are used
-classpath Specify where to find user class files
-cp Specify where to find user class files
-sourcepath Specify where to find input source files
-bootclasspath Override location of bootstrap class files
-extdirs Override location of installed extensions
-endorseddirs Override location of endorsed standards path
-d Specify where to place generated class files
-encoding Specify character encoding used by source files
-source Provide source compatibility with specified release
-target Generate class files for specific VM version
-version Version information
-help Print a synopsis of standard options
-X Print a synopsis of nonstandard options
-J Pass directly to the runtime system
Do you want to see the answer to 2.35 or 2.36?
0
2010-02-20 00:16:09.967 java[4618] CFLog (0): CFMessagePort: bootstrap_register(): failed 1103 (0x44f), port = 0xf103, name = 'java.ServiceProvider'
See /usr/include/servers/bootstrap_defs.h for the error codes.
2010-02-20 00:16:09.968 java[4618] CFLog (99): CFMessagePortCreateLocal(): failed to name Mach port (java.ServiceProvider)
Dans-MacBook:/Volumes/Lexar/NetBeansProjects/MacBook-Made/test Dan$
以下は、情報を取得するための失敗した試みです。Windows Vista 環境から、私の Java クラスの研究室のコンピューターから、プログラムを完璧にコンパイルして実行しました。ええ、-version を使うべきでした。この問題を解決するために、必要に応じて更新します。
Microsoft Windows [Version 6.0.6001]
Copyright (c) 2006 Microsoft Corporation. All rights reserved.
C:\Users\IRC111>java -showversion;javac -showversion
Unrecognized option: -showversion;javac
Could not create the Java virtual machine.
C:\Users\IRC111>java -showversion
java version "1.6.0_17"
Java(TM) SE Runtime Environment (build 1.6.0_17-b04)
Java HotSpot(TM) Client VM (build 14.3-b01, mixed mode, sharing)
Usage: java [-options] class [args...]
(to execute a class)
or java [-options] -jar jarfile [args...]
(to execute a jar file)
where options include:
-client to select the "client" VM
-server to select the "server" VM
-hotspot is a synonym for the "client" VM [deprecated]
The default VM is client.
-cp
-classpath
A ; separated list of directories, JAR archives,
and ZIP archives to search for class files.
-D=
set a system property
-verbose[:class|gc|jni]
enable verbose output
-version print product version and exit
-version:
require the specified version to run
-showversion print product version and continue
-jre-restrict-search | -jre-no-restrict-search
include/exclude user private JREs in the version search
-? -help print this help message
-X print help on non-standard options
-ea[:...|:]
-enableassertions[:...|:]
enable assertions
-da[:...|:]
-disableassertions[:...|:]
disable assertions
-esa | -enablesystemassertions
enable system assertions
-dsa | -disablesystemassertions
disable system assertions
-agentlib:[=]
load native agent library , e.g. -agentlib:hprof
see also, -agentlib:jdwp=help and -agentlib:hprof=help
-agentpath:[=]
load native agent library by full pathname
-javaagent:[=]
load Java programming language agent, see java.lang.instrument
-splash:
show splash screen with specified image
C:\Users\IRC111>javac -showversion
javac: invalid flag: -showversion
Usage: javac
use -help for a list of possible options
C:\Users\IRC111>
限られた時間の中でこのサイトをグーグル検索して検索できるように最善を尽くしましたが、これを自分で解決することはできませんでした. Super User と AppleScript の経験が少しあることを除けば、私は Stack Overflow とプログラミングの両方にかなり慣れていないので、優しくしてください。