3

错误和类 http://puu.sh/1ITnS.png

当我将类文件命名为 Main.class 时,java 说它的名称错误,当我将它命名为 shop.Main.class 时,它说找不到主类。任何人都可以帮忙吗?

package shop;

import java.text.DecimalFormat;

public class Main
{  
    public static void main(String args[])
    {  
        Cart cart = new Cart(new Catalogue());
        printOrder(cart);
    }

    public static void printOrder(Cart cart)
    {
        DecimalFormat df = new DecimalFormat("0.00");
        System.out.println("Your order:");
        for(int itemIndex = 0; itemIndex < cart.itemsInCart.products.size(); 
            itemIndex++)
            if (cart.itemsInCart.products.get(itemIndex).quantity != 0)
                System.out.println(cart.itemsInCart.products.get(itemIndex).quantity 
                    + " " + cart.itemsInCart.products.get(itemIndex).name 
                    + " $"+ df.format(cart.itemsInCart.products.get(itemIndex).price) 
                    + " = $" + df.format
                    ((cart.itemsInCart.products.get(itemIndex).quantity 
                    * cart.itemsInCart.products.get(itemIndex).price)));

        double subtotal = 0;
        int taxPercent = 20;
        double tax;
        double total;

        for(int itemIndex = 0; itemIndex < cart.itemsInCart.products.size(); 
            itemIndex++)
            subtotal += cart.itemsInCart.products.get(itemIndex).quantity 
            * cart.itemsInCart.products.get(itemIndex).price;
        tax = subtotal * taxPercent / 100;
        total = subtotal + tax;


        System.out.print("Subtotal: $" + df.format(subtotal) 
            + " Tax @ " + taxPercent + "%: $" + df.format(tax) 
            + " Grand Total: $" + df.format(total));
    }  
}

忽略以下两行之间

––––––––––––––––––––––––––––––––––––––</p>

编辑摘要

哎呀!您的修改无法提交,因为:

您的帖子没有太多上下文来解释代码部分;请更清楚地解释您的情况。

取消

–––––––––––––––––––––––

4

4 回答 4

4

执行这些命令:

cd ..
java shop.Main

您无法从尝试引用的包中运行 java 代码。

于 2013-01-03T11:40:58.957 回答
2

保留它 Main.class 并java shop.Main从 java 文件夹中的命令行尝试

于 2013-01-03T11:40:51.523 回答
0

编译:~/java> javac shop/Main.java

运行:~/java> java shop.Main

于 2013-01-03T11:40:58.447 回答
0

如果手动编译,您应该小心将类放在正确的文件夹中(包名称等于磁盘上的文件夹名称)。我建议使用 IDE(Eclipse 和 Netbeans 都是不错的免费选择)。

如果您将 Main.class 放在名为“shop”的文件夹中,然后从项目根文件夹执行“java shop/Main”,则您的示例将起作用

于 2013-01-03T11:45:55.003 回答