-2

我对java编程相当陌生。下面我有我的程序和不断出现的错误。我不知道这是什么意思,如果有人可以帮助我。我正在使用深红色编辑器,当一个窗口询问我“输入程序参数”出现此错误时,我的程序编译得很好。如果有人可以向我解释它的含义。谢谢你。// 我的程序

package test.rim.bbapps.testcase.lib;

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class michaeltictactoe2 implements ActionListener {

    /* Instance variables */

    private JFrame window = new JFrame (" TicTacToe");
    private JButton button1 = new JButton ("") ;
    private JButton button2 = new JButton ("") ;
    private JButton button3 = new JButton ("") ;
    private JButton button4 = new JButton ("") ;
    private JButton button5 = new JButton ("") ;
    private JButton button6 = new JButton ("") ;
    private JButton button7 = new JButton ("") ;
    private JButton button8 = new JButton ("") ;
    private JButton button9 = new JButton ("") ;
    private String letter = "";
    private int count = 0; 
    private boolean win = false; 

    public michaeltictactoe2 () {
        //* Create Window * /
        window.setSize (300,300);
        window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        window.setLayout ( new GridLayout (3, 3));

        /* Adding buttons to the window*/
        window.add(button1);
        window.add(button2);
        window.add(button3);
        window.add(button4);
        window.add(button5);
        window.add(button6);
        window.add(button7);
        window.add(button8);
        window.add(button9);

        /* Add the action listener to the Button */
        button1.addActionListener(this);
        button2.addActionListener(this);
        button3.addActionListener(this);
        button4.addActionListener(this);
        button5.addActionListener(this);
        button6.addActionListener(this);
        button7.addActionListener(this);
        button8.addActionListener(this);
        button9.addActionListener(this);

        //* make the window visible * /
        window.setVisible (true) ;
    }

    public void actionPerformed (ActionEvent a) {
        count++;

        /* Calculate who's turn it is */
        if (count == 1 || count == 3|| count == 5 || count == 7 || count == 9) {
            letter = "X"; 
        } else if ( count == 2 || count == 4 || count  == 6 || count == 8  ) {
            letter = "O";   
        }

        /* Display X's or O's on the buttons */
        if ( a.getSource () == button1) {
            button1.setText ( letter ) ;
            button1.setEnabled (false);
        } else if (a.getSource () == button2) {
            button2.setText(letter);
            button2.setEnabled(false); 
        } else if (a.getSource () == button3) {
            button3.setText(letter);
            button3.setEnabled(false); 
        } else if (a.getSource () == button4) {
            button4.setText(letter);
            button4.setEnabled(false); 
        } else if (a.getSource () == button5) {
            button5.setText(letter);
            button5.setEnabled(false); 
        } else if (a.getSource () == button6) {
            button6.setText(letter);
            button6.setEnabled(false); 
        } else if (a.getSource () == button7) {
            button7.setText(letter);
            button7.setEnabled(false); 
        } else if (a.getSource () == button8) {
            button8.setText(letter);
            button8.setEnabled(false); 
        } else if (a.getSource () == button9) {
            button9.setText(letter);
            button9.setEnabled(false);
        }

        // * Determine who won */
        // horizontal wins
        if ( button1.getText () == button2.getText ()
            && button2.getText () == button3.getText ()
            && button1.getText () != "") {

            win = true;

        } else if ( button4.getText () == button5.getText ()
                    && button5.getText () == button6.getText ()
                    && button4.getText () != "") {
            win = true;

        } else if ( button7.getText () == button8.getText ()
                &&    button8.getText () == button9.getText ()
                &&    button7.getText () != "") {
                win = true;

            // Verticle wins 
        } else if (button1.getText() == button4.getText ()
               && button4.getText() == button7.getText ()
               && button1.getText() != "") {
               win = true; 

        } else if (button2.getText() == button5.getText()
                &&  button5.getText() == button8.getText()
                &&  button2.getText() != "") {
               win = true;
        } else if ( button3.getText() == button6.getText()
                &&   button6.getText() == button9.getText()
                &&   button9.getText() != "") {
               win = true ;

        // Diagonal wins 
        } else if (button1.getText() == button5.getText()
                && button5.getText() == button9.getText()
                && button1.getText() != "") {
                win = true; 

         } else if (button3.getText() == button5.getText()
                 && button5.getText() == button7.getText()
                 && button3.getText() != "") {
                win = true;
         } else {
                win = false ;
         }

        /* show a dialog is someone wins or the game is tie*/
        if ( win == true) {
            JOptionPane.showMessageDialog(null, letter + " YOU WIN!");
        } else if (count == 9 && win == false) {
            JOptionPane.showMessageDialog ( null , " Tie Game!" ) ;  
        }
    }

    public static void main (String [] args) {
        new michaeltictactoe2 () ;
    }
}

错误:

---------- Capture Output ----------
> "C:\Program Files\Java\jdk1.6.0_22\bin\java.exe" michaeltictactoe1
java.lang.NoClassDefFoundError: michaeltictactoe1 (wrong name: test/rim/bbapps/testcase/lib/michaeltictactoe1)
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClassCond(ClassLoader.java:632)
    at java.lang.ClassLoader.defineClass(ClassLoader.java:616)
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
    at java.net.URLClassLoader.defineClass(URLClassLoader.java:283)
    at java.net.URLClassLoader.access$000(URLClassLoader.java:58)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:197)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
Could not find the main class: michaeltictactoe1.  Program will exit.
Exception in thread "main" 
> Terminated with exit code 1.

再次感谢。

4

2 回答 2

2

您正在编译 michaeltictactoe1 并且类名是 michaeltictactoe2

编译

javac michaeltictactoe2.java

然后运行

java michaeltictactoe2

阅读http://www.oracle.com/technetwork/java/compile-136656.html

于 2012-04-24T21:31:56.800 回答
1

看起来类名与文件名不匹配(michaeltictactoe1 vs. michaeltictactoe2)

于 2012-04-24T21:31:22.160 回答