无法找到或加载主类,父文件夹?

时间:2013-05-31 00:24:06

标签: java

我在NetBeans中运行项目时遇到问题。

我认为这是一些路径问题,我以前用其他项目修复过,但我仍然对此感到困惑。

这是我的代码

public class TestStack
{
    public static void main(String[] args)
    {
        double[] dblElements = {1.1, 2.2, 3.3, 4.4, 5.5};
        int[] intElements = {1,2,3,4,5,6,7,8,9,10};

        // Create a staqck of doubles & a stack of ints

        Stack<Double> dStack = new Stack<Double>(5);
        Stack<Integer> iStack = new Stack<Integer>();

        // push elements onto the stack
        PushDouble(dStack, dblElements);
        PopDouble(dStack);

    }

        private static void PushInteger(Stack<Integer> stack, int[] values)
    {
        System.out.println("\nPushing elements onto stack of integers");
        for (int i : values)
        {
            System.out.printf("%.1f ", i);
            stack.push(i);
        }
    }
    private static void PopInteger(Stack<Integer> stack)
    {
        try
        {
            System.out.println("\nPopping elements from stack of integers");
            double value;
            // Remove all elements from stack & display them
            while(true)
            {
                value = stack.pop();
                System.out.printf("%.1f ",value);
            }
        } // end of try block
        catch(EmptyStackException E)
        {
            System.err.println();
            E.printStackTrace();
        } // end of catch block
    }

    private static void PushDouble(Stack<Double> stack, double[] values)
    {
        System.out.println("\nPushing elements onto stack of doubles");
        for (double d : values)
        {
            System.out.printf("%.1f ", d);
            stack.push(d);
        }
    }
    private static void PopDouble(Stack<Double> stack)
    {
        try
        {
            System.out.println("\nPopping elements from stack of doubles");
            double value;
            // Remove all elements from stack & display them
            while(true)
            {
                value = stack.pop();
                System.out.printf("%.1f ",value);
            }
        } // end of try block
        catch(EmptyStackException E)
        {
            System.err.println();
            E.printStackTrace();
        } // end of catch block
    }
}

我的错误是......

Error: Could not find or load main class teststack.TestStack

我该怎么办?

3 个答案:

答案 0 :(得分:0)

根据您的错误消息,您的TestStack课程位于teststack包中。因此,文件&#34; TestStack.java&#34;必须位于主文件夹下名为teststack的文件夹中,而不是位于主文件夹本身。

答案 1 :(得分:0)

确保您的类TestStack放在目录teststack下,因为您将其作为包使用。编译并运行如下:

javac teststack/TestStack.java
java teststack.TestStack

答案 2 :(得分:0)

也许你选择了错误的主要课程。尝试在NetBeans中右键单击项目,选择Properties,在Categories中选择Run,然后选择TestStack类作为Main类。