(Intel Mac OS 10.4.11, NetBeans IDE 6.8, SoyLatte 1.0.3)
Although I am currently taking a college course in Java and my code is based on a couple of questions from my Java textbook, I would like to make it perfectly clear that this is NOT homework. This is self-assigned for studying purposes and my professor will probably never see this, let alone grade it. Regardless, I suspect this to be a configuration-related issue as I had no such problems running this program in a Vista machine on campus. Assuming I am right, there shouldn't be any issue with any of this community's policies as I won't need to receive any "answer" code to solve this issue.
In NetBeans, my program compiles and works fine, but produces a couple of runtime errors. Any idea what could be going on here?
Here's my code:
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
}
}
Here are the runtime errors produced by 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)
The following is a troubleshooting terminal session using both the newer version of JDK courtesy of SoyLatte (http://landonf.bikemonkey.org/static/soylatte/, which fails to produce a dialog box) as well as the older one supplied by Apple as part of my OS (which like in NetBeans works fine otherwise) as well.
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$
Below is a botched attempt at getting info. from the Windows Vista environment from a computer in my Java class' lab, which compiled and ran the program flawlessly. Yeah, should've used -version. I'll update it if needed to resolve this problem.
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>
I've done the best I could googling and searching this site in my limited time, but I've had no luck resolving this on my own. Aside from a little experience in Super User and AppleScript, I'm pretty new to both Stack Overflow and programming, so please be gentle and thanks in advanced.